Reset Information#
Passing information when resetting into and out of the bootloader.
To signal the bootloader to 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.
BootloaderResetCause_t resetCause = {
.reason = BOOTLOADER_RESET_REASON_BOOTLOAD,
.signature = 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.
Note
The reset information is automatically filled out before reset if the bootloader_rebootAndInstall function is called.
Modules#
Macros#
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.
Soft-reset was forced to handle a fault.
Soft-reset was forced to handle a security fault.
Reset signature is valid.
Reset signature is invalid.