nRF5 SDK is not maintained anymore
More Info: Consider nRF Connect SDK for new designs

DFU Secure Boot Example wont work

Hi, 

I am new to the nRF environment. I am working with a custom nrf52840 board, and am trying to get the secure_bootloader example to work to flash OTA. I have gotten other example sketches to work, such as ble_blinky, but when I flash the secure_bootloader example, I get no errors, but the device does not show up in the nRF connect app. Any help would be greatly appreciated. I can post the debug log, but I am having issues with .rodata is to large to fit in the flash memory segment.

Thanks,

Andrew

  • Another update, I have tested this with the nrf52840 development kit, and still get the same behavior. I am on gcc version 10.3, and have tested this with both sdk versions 17.1 and 15.3

  • A third note, the hex file worked only when I uploaded it through the nrfConnect desktop app. When I uploaded it through the nrfjprog command it did not work. (DFUTarg did not show up)

  • Hi,

    Strange. I really thought it had to be the GCC version. I have not managed to reproduce the problem here either, unfortunately. Here is what I did in my attempt to reproduce it on my end:

    1. Connected a nRF52840 DK to the PC

    2. Changed toolchain path from GCC ARM Embedded 9.2020-q2.major to gcc-arm-none-eabi-10.3-2021.10 in /nRF5_SDK_17.1.0_ddde560/components/toolchain/gcc/Makefile.posix

    3. Opened the terminal in /nRF5_SDK_17.1.0_ddde560/examples/dfu/secure_bootloader/pca10056_s140_ble_debug/armgcc

    4. Ran 'make flash_softdevice && make flash' to program the board. Note: these makefile targets do use nrfjprog

    5. Observed that the board was advertising as "DFUTarg"

    Log output after running 'make flash_softdevice && make flash' 

    Do you notice any differences in my approach above compared to yours?

    anisaw said:
    When I uploaded it through the nrfjprog command it did not work.

    There should be any difference between programming the hex file with nrfjprog vs the programmer app. Did you remember to include the reset command to start program execution?

    $ nrfjprog --program secure_bootloader_ble_s140_pca10056_debug.hex --chiperase --reset

Related