NRF9160 Custom board Serial LTE Modem build failed

Hi, 

I created a custom board following the instructions from https://www.youtube.com/watch?v=V_dVKgWKILM . Everything is ok and with the "Hello world" example builds without any problem. Now I'm trying to use this custom board to build the Serial LTE modem example, but it gives me the following error:

-- west build: generating a build system
Loading Zephyr default modules (Zephyr base).
-- Application: C:/nordic/myApps/serial_lte_modem
-- CMake version: 3.21.0
-- Found Python3: C:/ncs/toolchains/cf2149caf2/opt/bin/python.exe (found suitable version "3.9.13", minimum required is "3.8") found components: Interpreter
-- Cache files will be written to: C:/ncs/v2.6.1/zephyr/.cache
-- Zephyr version: 3.5.99 (C:/ncs/v2.6.1/zephyr)
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: nrf9160_sica_b1
-- Found host-tools: zephyr 0.16.5 (C:/ncs/toolchains/cf2149caf2/opt/zephyr-sdk)
-- Found toolchain: zephyr 0.16.5 (C:/ncs/toolchains/cf2149caf2/opt/zephyr-sdk)
-- Found Dtc: C:/ncs/toolchains/cf2149caf2/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
-- Found BOARD.dts: C:/my-nrf-boards/boards/arm/nrf9160_sica_b1/nrf9160_sica_b1.dts
-- Generated zephyr.dts: C:/nordic/myApps/serial_lte_modem/build/zephyr/zephyr.dts
-- Generated devicetree_generated.h: C:/nordic/myApps/serial_lte_modem/build/zephyr/include/generated/devicetree_generated.h
-- Including generated dts.cmake file: C:/nordic/myApps/serial_lte_modem/build/zephyr/dts.cmake

warning: RTT_CONSOLE (defined at drivers/console/Kconfig:115) was assigned the value 'y' but got the
value 'n'. Check these unsatisfied dependencies: CONSOLE (=n). See
docs.zephyrproject.org/.../kconfig.html and/or look up RTT_CONSOLE in
the menuconfig/guiconfig interface. The Application Development Primer, Setting Configuration
Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful too.


warning: Experimental symbol TFTP_LIB is enabled.


warning: Experimental symbol HTTP_CLIENT is enabled.


warning: NRF_MODEM_LIB (defined at C:/ncs/v2.6.1/nrf\lib\nrf_modem_lib/Kconfig:6) has direct dependencies SOC_SERIES_NRF91X && TRUSTED_EXECUTION_NONSECURE with value n, but is currently being y-selected by the following symbols:
- MODEM_INFO (defined at C:/ncs/v2.6.1/nrf\lib\modem_info/Kconfig:7), with value y, direct dependencies y (value: y)
Parsing C:/nordic/myApps/serial_lte_modem/Kconfig
Loaded configuration 'C:/my-nrf-boards/boards/arm/nrf9160_sica_b1/nrf9160_sica_b1_defconfig'
Merged configuration 'C:/nordic/myApps/serial_lte_modem/prj.conf'
- MODEM_JWT (defined at C:/ncs/v2.6.1/nrf\lib\modem_jwt/Kconfig:7), with value y, direct dependencies y (value: y)

error: Aborting due to Kconfig warnings

CMake Error at C:/ncs/v2.6.1/zephyr/cmake/modules/kconfig.cmake:358 (message):
command failed with return code: 1
Call Stack (most recent call first):
C:/ncs/v2.6.1/nrf/cmake/modules/kconfig.cmake:29 (include)
C:/ncs/v2.6.1/zephyr/cmake/modules/zephyr_default.cmake:129 (include)
C:/ncs/v2.6.1/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
C:/ncs/v2.6.1/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
CMakeLists.txt:9 (find_package)


-- Configuring incomplete, errors occurred!
FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\cf2149caf2\opt\bin\cmake.EXE' -DWEST_PYTHON=C:/ncs/toolchains/cf2149caf2/opt/bin/python.exe '-Bc:\nordic\myApps\serial_lte_modem\build' -GNinja -DBOARD=nrf9160_sica_b1 -DNCS_TOOLCHAIN_VERSION=NONE '-DBOARD_ROOT=c:/my-nrf-boards;c:/nordic/myapps/serial_lte_modem' '-Sc:\nordic\myApps\serial_lte_modem'

Anyone can help me, please?

thanks in advance

Parents
  • Hi,

    Could you provide more information about your board?

    Did you build Serial LTE Modem (SLM) sample from VS Code?
    Can you show your build command?

    How did you make your SLM application?

    Have you modified SLM sample or its prj.conf in any way?

    Best regards,
    Dejan


  • Thanks!

    My custom board uses a STM32 MCU connected to nrf9160 sica b1 via UART. 

    TX --> P0.06

    RX --> P0.05

    RTS --> P0.14

    CTS --> P0.15

    So, I understand that I only need to activate GPIO and UART2 on .dts file and then add these pins to the pinctrl.dtsi file, right?

    I just created the custom board with these changes and the SLM application from the sample. Then add build configuration and select my custom board --> build configuration

    I didn't modify the rest of parameters of the build configuration or the prj.conf file, should I do that?

    thanks for your help!

  • Hi,

    Which configuration file (containing CONFIG_) did you send in your previous reply? 
    Please note that you can upload files by going to Insert->Image/Video/File and choosing the file you want to upload by clicking on Upload.

    Are you able to run any other application sample on your custom board? For example, you could try AT Client and Modem Shell.

    Have you tried to change pins used for UART2?

    ALEJANDRO_CEIT said:

    In order to avoid this errors I built the SLM with the nrf9160dk_nrf9160ns board and then changed the UART0 to UART2 (in config file) and added to the overlay the pins that match with my custom board.

    with this build I flashed the nrf9160-DK and I connected an FTDI wire to the DK pins (P0.05, P0.06, P0.14, P.015) and I'm able to communicate sending AT commands using NRF serial terminal app

    Did you send AT commands from Serial Terminal directly to nrf9160?

    ALEJANDRO_CEIT said:
    but, If I flash the same build to my custom board and I connect the FTDI in the same way, using the NRF serial terminal app, I don't get a response from the nrf on my custom board.

    On your custom board, you could try flashing the build for your specific board nrf9160_sica_b1.

    Can you provide more information about your setup when you used custom board and nrf9160-dk? 

    Can you elaborate on the relationship between STM MCU and nrf9160 on your custom board? What do you intend to use both STM MCU and nrf9160 for?

    Best regards,
    Dejan

  • Hi, 

    thanks for your help.

    The file that i sent was .config file located in my build output files.

    I tried with AT Client but didn't work.

    And yes, I changed the pins to the ones that I use on my custom board.

    I'm not using together my custom board and nrf9160-dk, I just flashed the build that I did for my custom board on the nrf9160-dk and connect an FTDI cable to the pins P0.05, P0.06, P0.14, P.015 on the DK just to check that the build is ok and I'm able to communicate sending AT commands via terminal.

    I'm gonna explain our idea of using STM32 MCU + nrf9160. We have a PCB with a lot of sensor (accelerometers, humidity, temperature, etc.) and with some communications modules as LoRa, UWB, and LTE. We use nrf9160 as LTE modem and the STM32 MCU is the "brain" of our system. Our idea is to communicate both, STM32 and nrf9160 via UART and send the info recolected by the sensor to a server using AT commands and MQTT over nrf9160.

     I will build again the SLM sample with my specific board nrf9160_sica_b1, but I did before many times and the build always failed, i think I'm not understanding something.

    thanks for your help, I appreciate a lot.

    best regards

  • This is the error that I got building with my custom board nrf9160_sica_b1:

    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/nordic/myApps/serial_lte_modem
    -- CMake version: 3.21.0
    -- Found Python3: C:/ncs/toolchains/cf2149caf2/opt/bin/python.exe (found suitable version "3.9.13", minimum required is "3.8") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.6.1/zephyr/.cache
    -- Zephyr version: 3.5.99 (C:/ncs/v2.6.1/zephyr)
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: nrf9160_sica_b1
    -- Found host-tools: zephyr 0.16.5 (C:/ncs/toolchains/cf2149caf2/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.5 (C:/ncs/toolchains/cf2149caf2/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/cf2149caf2/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found BOARD.dts: C:/my-nrf-boards/boards/arm/nrf9160_sica_b1/nrf9160_sica_b1.dts
    -- Generated zephyr.dts: C:/nordic/myApps/serial_lte_modem/build_2/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: C:/nordic/myApps/serial_lte_modem/build_2/zephyr/include/generated/devicetree_generated.h
    -- Including generated dts.cmake file: C:/nordic/myApps/serial_lte_modem/build_2/zephyr/dts.cmake

    warning: Experimental symbol TFTP_LIB is enabled.


    warning: Experimental symbol HTTP_CLIENT is enabled.

    Parsing C:/nordic/myApps/serial_lte_modem/Kconfig
    Loaded configuration 'C:/my-nrf-boards/boards/arm/nrf9160_sica_b1/nrf9160_sica_b1_defconfig'
    Merged configuration 'C:/nordic/myApps/serial_lte_modem/prj.conf'
    Configuration saved to 'C:/nordic/myApps/serial_lte_modem/build_2/zephyr/.config'
    Kconfig header saved to 'C:/nordic/myApps/serial_lte_modem/build_2/zephyr/include/generated/autoconf.h'
    -- Found GnuLd: c:/ncs/toolchains/cf2149caf2/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe (found version "2.38")
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/ncs/toolchains/cf2149caf2/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    -- Found Python3: C:/ncs/toolchains/cf2149caf2/opt/bin/python.exe (found version "3.9.13") found components: Interpreter

    === child image mcuboot - begin ===
    loading initial cache file C:/nordic/myApps/serial_lte_modem/build_2/mcuboot/child_image_preload.cmake
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/ncs/v2.6.1/bootloader/mcuboot/boot/zephyr
    -- CMake version: 3.21.0
    -- Found Python3: C:/ncs/toolchains/cf2149caf2/opt/bin/python.exe (found suitable version "3.9.13", minimum required is "3.8") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.6.1/zephyr/.cache
    -- Zephyr version: 3.5.99 (C:/ncs/v2.6.1/zephyr)
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: nrf9160_sica_b1
    -- Found host-tools: zephyr 0.16.5 (C:/ncs/toolchains/cf2149caf2/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.5 (C:/ncs/toolchains/cf2149caf2/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/cf2149caf2/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found BOARD.dts: C:/my-nrf-boards/boards/arm/nrf9160_sica_b1/nrf9160_sica_b1.dts
    -- Found devicetree overlay: C:/ncs/v2.6.1/bootloader/mcuboot/boot/zephyr/app.overlay
    -- Generated zephyr.dts: C:/nordic/myApps/serial_lte_modem/build_2/mcuboot/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: C:/nordic/myApps/serial_lte_modem/build_2/mcuboot/zephyr/include/generated/devicetree_generated.h
    -- Including generated dts.cmake file: C:/nordic/myApps/serial_lte_modem/build_2/mcuboot/zephyr/dts.cmake

    warning: The choice symbol BOOT_SERIAL_UART (defined at
    C:/ncs/v2.6.1/bootloader/mcuboot/boot/zephyr\Kconfig.serial_recovery:28) was selected (set =y), but
    no symbol ended up as the choice selection. See
    docs.zephyrproject.org/.../kconfig.html and/or look up
    BOOT_SERIAL_UART in the menuconfig/guiconfig interface. The Application Development Primer, Setting
    Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful
    too.


    warning: The choice symbol MINIMAL_LIBC (defined at lib/libc/Kconfig:69) was selected (set =y), but
    PICOLIBC (defined at lib/libc/Kconfig:80) ended up as the choice selection. See
    docs.zephyrproject.org/.../kconfig.html and/or look up MINIMAL_LIBC in
    the menuconfig/guiconfig interface. The Application Development Primer, Setting Configuration
    Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful too.

    Parsing C:/ncs/v2.6.1/bootloader/mcuboot/boot/zephyr/Kconfig
    Loaded configuration 'C:/my-nrf-boards/boards/arm/nrf9160_sica_b1/nrf9160_sica_b1_defconfig'
    Merged configuration 'C:/ncs/v2.6.1/bootloader/mcuboot/boot/zephyr/prj.conf'
    Merged configuration 'C:/ncs/v2.6.1/nrf/modules/mcuboot/tfm.conf'
    Merged configuration 'C:/ncs/v2.6.1/nrf/modules/mcuboot/fih_low_enable.conf'
    Merged configuration 'C:/ncs/v2.6.1/nrf/subsys/partition_manager/partition_manager_enabled.conf'
    Merged configuration 'C:/nordic/myApps/serial_lte_modem/child_image/mcuboot.conf'
    Merged configuration 'C:/nordic/myApps/serial_lte_modem/build_2/mcuboot/zephyr/misc/generated/extra_kconfig_options.conf'
    Configuration saved to 'C:/nordic/myApps/serial_lte_modem/build_2/mcuboot/zephyr/.config'
    Kconfig header saved to 'C:/nordic/myApps/serial_lte_modem/build_2/mcuboot/zephyr/include/generated/autoconf.h'
    -- Found GnuLd: c:/ncs/toolchains/cf2149caf2/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe (found version "2.38")
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/ncs/toolchains/cf2149caf2/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    CMake Error at C:/ncs/v2.6.1/nrf/lib/fprotect/CMakeLists.txt:15 (message):
    No fprotect backend selected.


    -- Configuring incomplete, errors occurred!
    See also "C:/nordic/myApps/serial_lte_modem/build_2/mcuboot/CMakeFiles/CMakeOutput.log".
    See also "C:/nordic/myApps/serial_lte_modem/build_2/mcuboot/CMakeFiles/CMakeError.log".
    CMake Error at C:/ncs/v2.6.1/nrf/cmake/multi_image.cmake:449 (message):
    CMake generation for mcuboot failed, aborting. Command: 1
    Call Stack (most recent call first):
    C:/ncs/v2.6.1/nrf/cmake/multi_image.cmake:178 (add_child_image_from_source)
    C:/ncs/v2.6.1/nrf/modules/mcuboot/CMakeLists.txt:328 (add_child_image)


    -- Configuring incomplete, errors occurred!
    See also "C:/nordic/myApps/serial_lte_modem/build_2/CMakeFiles/CMakeOutput.log".
    See also "C:/nordic/myApps/serial_lte_modem/build_2/CMakeFiles/CMakeError.log".
    FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\cf2149caf2\opt\bin\cmake.EXE' -DWEST_PYTHON=C:/ncs/toolchains/cf2149caf2/opt/bin/python.exe '-Bc:\nordic\myApps\serial_lte_modem\build_2' -GNinja -DBOARD=nrf9160_sica_b1 -DNCS_TOOLCHAIN_VERSION=NONE '-DBOARD_ROOT=c:/my-nrf-boards;c:/nordic/myapps/serial_lte_modem' '-Sc:\nordic\myApps\serial_lte_modem'

    * The terminal process terminated with exit code: 1.

    Attached the files of my custom board.

    thanks a lot!

    7587.Kconfig.defconfig

    3377.Kconfig.board

    nrf9160_sica_b1.dts

    nrf9160_sica_b1-pinctrl.dtsi

    Thanks a lot!

  • Hi,

    Starting from NCS v2.6.0, nrf91 can be used as a Zephyr-compatible LTE modem. You can look at controlling chip running Zephyr. If the controlling chip is an external MCU you can look at boards/nrf9160dk_nrf9160_ns.overlay where it is possible to customize UART configuration and power pin according to your setup. Additionally, there are conf and overlay files shown in nRF91 Series SiP running SLM.

    Best regards,
    Dejan

  • Thanks Dejans,

    I think my UART configuration is ok, but I don't understand what do you refer with Power Pin... should we in our PCB design take in to account this PIN? How we can enable the power pin according with our schematic?

    thanks in advance

Reply Children
No Data
Related