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

Using the DFU SDK 12.1 with a BLE command to jump to 'bootloader' works every other time with nordic connect app

We have been using the DFU that came with the sdk 12.1 with a modification (essentially removing the button from the DFU code). We currently send an application command that will tell the code to 'jump' to the bootloader. This works great. Once the app command is reeived the device begins advertising 'DFUTarg' I use the nrf connect android app to load the .zip file.

It works the first time, and every odd number time after; hence the second time of jumping back to the bootloader it will appear as if the app was loaded properly and nrf conenct will state the app was successfully loaded but when I scan the device still advertises as DFUTarg. If I try to load again, it will say successfully loaded and will advertise with our custom name.

We have the watchdog timer enabled in the application and following some other posts I added NRF_WDT->RR[0] = WDT_RR_RR_Reload; to the wait_for_event loop in the DFU to pet the dog.

Any suggestions?

Parents
  • From a clean start (e.g. just soft device and bootloader running in debug mode), it does reach that line and execute it. I left the bootloader on debug and try to reload again and the phone acts as if the app was successfully loaded yet that same line in code is never reached. I try again, and it reaches that line. So essentially every other time it reaches that nrf_bootloader_app_start line.

Reply
  • From a clean start (e.g. just soft device and bootloader running in debug mode), it does reach that line and execute it. I left the bootloader on debug and try to reload again and the phone acts as if the app was successfully loaded yet that same line in code is never reached. I try again, and it reaches that line. So essentially every other time it reaches that nrf_bootloader_app_start line.

Children
No Data
Related