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

Detect that bootloader ran at application startup

We are using the secure BLE bootloader from the nrf52 SDK versio 15.2. We did put in our own key files, but other than that I think that I don't think we changed much in the bootloader.

When the bootloader runs and starts the new application, is there any way to tell from the application that the bootloader just ran?

I was kind of hoping that the bootloader would set some bits in either GPREGRET or GRPRET2 that I could check in the app at startup, but it seems like the stock bootloader doesn't do anything like that.

Is there any other register that I could check to determine whether the app is being launched by the bootloader?

I know that I could modify the bootloader to set some bits in the GPREGRET/2 register, but we already have devices in the field and I would rather not have to reprogram the bootloader before reprogramming the application.

thanks!

additional information:

device: nrf52832_xxAA

softdevice: s132_nrf52_6.1.0_softdevice

sdk version: 15.2.0

unfortunately, in the sdk_config.h file for the bootloader, NRF_DFU_SAVE_PROGRESS_IN_FLASH is set to 0

Related