This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Can not download the hex to the nRF9160 board

I have a Windows 10 laptop (Acer Swift SF 514-52T) where I have installed the setup for nRF9160 from "nRF Connect for Desktop".

All steps followed.

I got some issues to see that SES was licensed to the license I entered in SES. I had to do it many times and reboot the laptop to see the license in effect.

So I received the project wrote by my colleague to flash it to the nRF9160-DK.

It compiles, but when it's time to download, I get a JLink target error.

When flashing with west, I get this log

C:\NS_NRF\nRF91\ncs\nrf\samples\nrf9160\meo_air_analytics>west build -b nrf9160_pca10090
-- west build: build configuration:
       source directory: C:\NS_NRF\nRF91\ncs\nrf\samples\nrf9160\meo_air_analytics
       build directory: C:\NS_NRF\nRF91\ncs\nrf\samples\nrf9160\meo_air_analytics\build (created)
       BOARD: nrf9160_pca10090 (origin: command line)
-- west build: generating a build system
Zephyr version: 2.1.0
-- Found PythonInterp: C:/Python38/python.exe (found suitable version "3.8.1", minimum required is "3.4")
-- Selected BOARD nrf9160_pca10090
-- Found west: C:/Python38/Scripts/west.exe (found suitable version "0.7.1", minimum required is "0.6.0")
-- Loading C:/NS_NRF/nRF91/ncs/zephyr/boards/arm/nrf9160_pca10090/nrf9160_pca10090.dts as base
Devicetree configuration written to C:/NS_NRF/nRF91/ncs/nrf/samples/nrf9160/meo_air_analytics/build/zephyr/include/generated/generated_dts_board.conf
Parsing Kconfig tree in C:/NS_NRF/nRF91/ncs/zephyr/Kconfig
C:/NS_NRF/nRF91/ncs/mcuboot/zephyr/Kconfig:37: WARNING: dt_int_val is deprecated.
Loaded configuration 'C:/NS_NRF/nRF91/ncs/zephyr/boards/arm/nrf9160_pca10090/nrf9160_pca10090_defconfig'
Merged configuration 'C:/NS_NRF/nRF91/ncs/nrf/samples/nrf9160/meo_air_analytics/prj.conf'
Configuration saved to 'C:/NS_NRF/nRF91/ncs/nrf/samples/nrf9160/meo_air_analytics/build/zephyr/.config'

warning: BSD_LIBRARY (defined at C:/NS_NRF/nRF91/ncs/nrf\lib\bsdlib/Kconfig:8) was assigned the
value 'y' but got the value 'n'. You can check symbol information (including dependencies) in the
'menuconfig' interface (see the Application Development Primer section of the manual), or in the
Kconfig reference at http://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_BSD_LIBRARY.html
(which is updated regularly from the master branch). See the 'Setting configuration values' section
of the Board Porting Guide as well.

warning: MODEM_KEY_MGMT (defined at C:/NS_NRF/nRF91/ncs/nrf\lib\modem_key_mgmt/Kconfig:7) was
assigned the value 'y' but got the value 'n'. You can check symbol information (including
dependencies) in the 'menuconfig' interface (see the Application Development Primer section of the
manual), or in the Kconfig reference at
http://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_MODEM_KEY_MGMT.html (which is updated
regularly from the master branch). See the 'Setting configuration values' section of the Board
Porting Guide as well.

warning: AT_CMD (defined at C:/NS_NRF/nRF91/ncs/nrf\drivers\at_cmd/Kconfig:9) has direct dependencies BSD_LIBRARY with value n, but is currently being y-selected by the following symbols:
 - LTE_LINK_CONTROL (defined at C:/NS_NRF/nRF91/ncs/nrf\drivers\lte_link_control/Kconfig:7), with value y, direct dependencies y (value: y)
-- The C compiler identification is GNU 8.3.1
-- The CXX compiler identification is GNU 8.3.1
-- The ASM compiler identification is GNU
-- Found assembler: C:/gnuarmemb/bin/arm-none-eabi-gcc.exe
-- Cache files will be written to: C:\Users\Saketaram\AppData\Local/.cache/zephyr
-- Configuring done
-- Generating done
-- Build files have been written to: C:/NS_NRF/nRF91/ncs/nrf/samples/nrf9160/meo_air_analytics/build
-- west build: building application
[67/151] Building C object modules/nrf/drivers/at_cmd/CMakeFiles/..__nrf__drivers__at_cmd.dir/at_cmd.c.obj
FAILED: modules/nrf/drivers/at_cmd/CMakeFiles/..__nrf__drivers__at_cmd.dir/at_cmd.c.obj
C:\gnuarmemb\bin\arm-none-eabi-gcc.exe -DBUILD_VERSION=v2.1.0-ncs1-snapshot1 -DKERNEL -DNRF9160_XXAA -DUSE_PARTITION_MANAGER=0 -D_FORTIFY_SOURCE=2 -D__PROGRAM_START -D__ZEPHYR__=1 -IC:/NS_NRF/nRF91/ncs/zephyr/include -IC:/NS_NRF/nRF91/ncs/zephyr/include/drivers -Izephyr/include/generated -IC:/NS_NRF/nRF91/ncs/zephyr/soc/arm/nordic_nrf/nrf91 -IC:/NS_NRF/nRF91/ncs/zephyr/ext/hal/cmsis/Core/Include -IC:/NS_NRF/nRF91/ncs/zephyr/subsys/net/lib/sockets/. -I../../../../include -I../../../../lib/at_notif/. -I../../../../lib/at_cmd_parser/include -IC:/NS_NRF/nRF91/ncs/modules/hal/nordic/nrfx -IC:/NS_NRF/nRF91/ncs/modules/hal/nordic/nrfx/drivers/include -IC:/NS_NRF/nRF91/ncs/modules/hal/nordic/nrfx/mdk -IC:/NS_NRF/nRF91/ncs/modules/hal/nordic/. -isystem C:/NS_NRF/nRF91/ncs/zephyr/lib/libc/minimal/include -isystem c:/gnuarmemb/bin/../lib/gcc/arm-none-eabi/8.3.1/include -isystem c:/gnuarmemb/bin/../lib/gcc/arm-none-eabi/8.3.1/include-fixed -isystem C:/NS_NRF/nRF91/ncs/nrfxlib/crypto/nrf_cc310_platform/include -Os -imacrosC:/NS_NRF/nRF91/ncs/nrf/samples/nrf9160/meo_air_analytics/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -mthumb -mcpu=cortex-m33 -imacrosC:/NS_NRF/nRF91/ncs/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=C:/NS_NRF/nRF91/ncs/nrf/samples/nrf9160/meo_air_analytics=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/NS_NRF/nRF91/ncs/zephyr=ZEPHYR_BASE -fmacro-prefix-map=C:/NS_NRF/nRF91/ncs=WEST_TOPDIR -ffunction-sections -fdata-sections -mabi=aapcs -march=armv8-m.main+dsp -std=c99 -nostdinc -MD -MT modules/nrf/drivers/at_cmd/CMakeFiles/..__nrf__drivers__at_cmd.dir/at_cmd.c.obj -MF modules\nrf\drivers\at_cmd\CMakeFiles\..__nrf__drivers__at_cmd.dir\at_cmd.c.obj.d -o modules/nrf/drivers/at_cmd/CMakeFiles/..__nrf__drivers__at_cmd.dir/at_cmd.c.obj   -c C:/NS_NRF/nRF91/ncs/nrf/drivers/at_cmd/at_cmd.c
C:/NS_NRF/nRF91/ncs/nrf/drivers/at_cmd/at_cmd.c:12:10: fatal error: bsd_limits.h: No such file or directory
 #include <bsd_limits.h>
          ^~~~~~~~~~~~~~
compilation terminated.
[76/151] Building C object modules/nrf/drivers/lte_link_co...eFiles/..__nrf__drivers__lte_link_control.dir/lte_lc.c.obj
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: 'C:\Program Files\CMake\bin\cmake.EXE' --build 'C:\NS_NRF\nRF91\ncs\nrf\samples\nrf9160\meo_air_analytics\build'

C:\NS_NRF\nRF91\ncs\nrf\samples\nrf9160\meo_air_analytics>

But using RTTViewer, I can connect to the board without any problem:

I have been trying to reinstall, and tried many times to download the project in vain for the last 2 weeks.

I'm puzzled on this setup and need to make it work asap.

Your help is most welcome.

  • Well done! nrfjprog wasn't installed, so I installed it from your link.

    NCS was 1.1.0

    I tried to install NCS 1.2.0 but it failed:

    C:\NS_NRF\nRF91\ncs\nrf>git checkout v1.2.0
    fatal: not a git repository (or any of the parent directories): .git

    I could build and flash

    -- runners.nrfjprog: Board with serial number 960085573 flashed successfully.

    Thanks Sigurd!

    Kudos to your insights!

  • So it seemed I successfully downloaded the firmware on the board

    When I try to debug with Ozone, I specified "merged.hex" as the file to use for debug, and I got:

    and then, when I pressed "OK", this message 

    So I tried on another project.

    I went in nrf9160/gps folder, and I build and flashed (with west).
    Then I started Ozone, and pointed to merged.hex: I got the same errors

    I also tried with zephyr.hex and I got the same errors.

    Could it be an issue the DK?

    I bought it from Arrow HK (Hong Kong). I'm now in France for extended period. How can I get a check on the hardware, if this could be the issue?

  • When I try to debug with Ozone, I specified "merged.hex"

    You should use zephyr.elf instead of the hex file in Ozone.

    Note that there is now a workaround to get SES working. You need to need to change the ordering of the .elf symbols in SES options, by right-clicking on "Project 'zephyr/merged.hex" and changing the order of the multi-build elf loading. See this and this post for more information.

Related