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

Problem with DFU SDK 13.0.0 Softdevice 4.0.2

Hi everyone!

I am trying to implement the OTA - DFU in my project. I have my own board with a nrF52832 chip.

The project was build using SDK 13.0.0 and softdevice s132 4.0.2. Because that, I dowloaded the SDK 13.0.0 from Nordic website (https://www.nordicsemi.com/Software-and-tools/Software/nRF5-SDK/Download#infotabs ) and I am making some tests with the files in examples folder pca10040_debug , before I can generate my own bootloader with my own private key.

If I use the .hex file (secure_dfu_ble_s132_pca10040_debug.hex) which is in sdk13_0_0/nRF5SDK1300/examples/dfu/bootloader_secure_ble/pca10040_debug/hex and flash it in my board it works pretty well ( I can see it advertising dfuTarg and connect to it on my cell phone (android 10) using nRF Connect). But when I build the .hex file using the Makefile in sdk13_0_0/nRF5SDK1300/examples/dfu/bootloader_secure_ble/pca10040_debug/armgcc and I merge it with the softdevice version s132 4.0.2 .hex file and flash it to my own board (using the command nrfjprog --reset --program bootloader_and_softdevice_merged.hex --family NRF52 --sectoranduicrerase)  it doesn't work. I can see it advertising dfuTarg , but when I try to connect to it using nRF Connect app it keeps in a loop and doesn't connect. It should have the same behavior that the .hex file secure_dfu_ble_s132_pca10040_debug.hex , right?

I did the same experiment using sdk 15.2.0 (softdevice 6.1.0) and it worked in both cases ( with the .hex file in the hex folder and with the .hex file that I generated using the Makefile file  - but in this case I merged the .hex generated with softdevice 6.1.0 .hex file)

Am I missing something or is it a knowing bug for this softdevice (4.0.2) and SDK (13.0.0) versions?

Here is all the versions that I am using:

Mergehex version 9.7.3

nrfjprog version: 9.7.3

JLinkARM.dll version: 6.32i

gcc-arm-none-eabi-7-2018-q2 GNU version 7.3.1

Linux Ubuntu 18.04.3 LTS

Thanks in advanced!

Parents
  • Hi Dbuenom, 

    Please check the log on the board. By default RTT is enable in the debug version. 

    You can also change the optimization level to 0 and add DEBUG to the preprocessor symbols to have more debug information. You may need to move the bootloader down in flash to give more flash space to it (you may need to do an erase all when doing that because the address of the bootloader is stored in UICR)

Reply
  • Hi Dbuenom, 

    Please check the log on the board. By default RTT is enable in the debug version. 

    You can also change the optimization level to 0 and add DEBUG to the preprocessor symbols to have more debug information. You may need to move the bootloader down in flash to give more flash space to it (you may need to do an erase all when doing that because the address of the bootloader is stored in UICR)

Children
No Data
Related