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

SDK12.2 DFU OTA application doesn't start

Hi DevZone

I am trying to DFU OTA a PCA10040 using BLE Secure DFU Bootloader from SDK12.2.0.

I can succesfully transfer the image i have made with nrfutil to my DK, but the application doesn't start up.

What i can read from other threads here on the forum, i should generate an a HEX file wich contains the bootloader settings. This i have done using: nrfutil settings generate --family NRF52 --application ble_app_proximity_pca10040_s132.hex --application-version 1 --bootloader-version 1 --bl-settings-version 1 settings.hex

And i then merged this together with my bootloader using mergehex and programmed it to my DK with Keil. (Could i use nRFGO studio to program the bootloader with or?)

But without any luck. When i flash the application HEX file directly it works like it should, but OTA it doesn't boot-up. It simply just sits in bootloader mode (LED3 on), but it is not advertising (LED1 off). Restarting the device gives the same result.

Anyone can point me in the right direction?

Best regards Mathias

  • Hi Mathias, when you say transfer, do you mean flashed the application or DFU'ed the application. If its the latter, then what version numbers did you set when you created the .zip package for the ble_app_proximity example? Have you checked that they are in compliance with the acceptance rules of the bootloader, found here. If they are, then I suggest that you run the bootloader in a debug session and check if you reach

    nrf_bootloader_app_start(MAIN_APPLICATION_START_ADDR); 
    

    in nrf_dfu_init() in nrf_dfu.c. You can also try to read the bank 1 code at 0x7F020 using nrfjprog -f nrf52 --memrd 0x7F020, which should be set to 0x01 indicating that there is a valid application.

  • Thanks Bjørn. I generated a new firmware .zip package and suddenly it worked. So i must have made a mistake when generating it the first time.

Related