Reset InformationApplication Interface > Common Application Interface
Description
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.
- Note
- 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. | |
Macros | |
#define | BOOTLOADER_RESET_REASON_UNKNOWN 0x0200u |
Unknown bootloader cause (should never occur) | |
#define | BOOTLOADER_RESET_REASON_GO 0x0201u |
Bootloader caused reset telling app to run. | |
#define | BOOTLOADER_RESET_REASON_BOOTLOAD 0x0202u |
Application requested that bootloader runs. | |
#define | BOOTLOADER_RESET_REASON_BADIMAGE 0x0203u |
Bootloader detected bad external upgrade image. | |
#define | BOOTLOADER_RESET_REASON_FATAL 0x0204u |
Fatal Error or assert in bootloader. | |
#define | BOOTLOADER_RESET_REASON_FORCE 0x0205u |
Forced bootloader activation. | |
#define | BOOTLOADER_RESET_REASON_OTAVALID 0x0206u |
OTA Bootloader mode activation. | |
#define | BOOTLOADER_RESET_REASON_DEEPSLEEP 0x0207u |
Bootloader initiated deep sleep. | |
#define | BOOTLOADER_RESET_REASON_BADAPP 0x0208u |
Application verification failed. | |
#define | BOOTLOADER_RESET_REASON_UPGRADE 0x0209u |
Bootloader requested that first stage upgrades main bootloader. | |
#define | BOOTLOADER_RESET_REASON_TIMEOUT 0x020Au |
Bootloader timed out waiting for upgrade image. | |
#define | BOOTLOADER_RESET_SIGNATURE_VALID 0xF00Fu |
Reset signature is valid. | |
#define | BOOTLOADER_RESET_SIGNATURE_INVALID 0xC33Cu |
Reset signature is invalid. | |