Reset InformationApplication Interface > Common Application Interface


Passing information when resetting into and out of the bootloader.

In order to signal to the bootloader that it should run, the application needs to write the BootloaderResetCause_t structure to the first address of RAM, setting BootloaderResetCause_t::reason to BOOTLOADER_RESET_REASON_BOOTLOAD.

The reset cause is only valid if BootloaderResetCause_t::signature is set to BOOTLOADER_RESET_SIGNATURE_VALID.

When the bootloader reboots back into the app, it sets the reset reason to BOOTLOADER_RESET_REASON_GO if the bootload succeeded, or BOOTLOADER_RESET_REASON_BADIMAGE if the bootload failed due to errors when parsing the upgrade image.

The reset information is automatically filled out before reset if the bootloader_rebootAndInstall function is called.

Data Structures

struct  BootloaderResetCause_t
 Reset cause of the bootloader.


 Unknown bootloader cause (should never occur)
 Bootloader caused reset telling app to run.
 Application requested that bootloader runs.
 Bootloader detected bad external upgrade image.
 Fatal Error or assert in bootloader.
 Forced bootloader activation.
 OTA Bootloader mode activation.
 Bootloader initiated deep sleep.
 Application verification failed.
 Bootloader requested that first stage upgrades main bootloader.
 Bootloader timed out waiting for upgrade image.
 Reset signature is valid.
 Reset signature is invalid.