Imported more library files
Not compiling currently
This commit is contained in:
104
Libs/platform/bootloader/api/btl_reset_info.h
Normal file
104
Libs/platform/bootloader/api/btl_reset_info.h
Normal file
@@ -0,0 +1,104 @@
|
||||
/***************************************************************************//**
|
||||
* @file
|
||||
* @brief Reset information for the Silicon Labs Gecko bootloader
|
||||
*******************************************************************************
|
||||
* # License
|
||||
* <b>Copyright 2021 Silicon Laboratories Inc. www.silabs.com</b>
|
||||
*******************************************************************************
|
||||
*
|
||||
* The licensor of this software is Silicon Laboratories Inc. Your use of this
|
||||
* software is governed by the terms of Silicon Labs Master Software License
|
||||
* Agreement (MSLA) available at
|
||||
* www.silabs.com/about-us/legal/master-software-license-agreement. This
|
||||
* software is distributed to you in Source Code format and is governed by the
|
||||
* sections of the MSLA applicable to Source Code.
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef BTL_RESET_INFO_H
|
||||
#define BTL_RESET_INFO_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/***************************************************************************//**
|
||||
* @addtogroup Interface
|
||||
* @{
|
||||
* @addtogroup CommonInterface
|
||||
* @{
|
||||
* @addtogroup ResetInterface Reset Information
|
||||
* @brief Passing information when resetting into and out of the bootloader
|
||||
* @details
|
||||
* To signal the bootloader to run, the
|
||||
* application needs to write the @ref BootloaderResetCause_t structure
|
||||
* to the first address of RAM, setting @ref BootloaderResetCause_t.reason
|
||||
* to @ref BOOTLOADER_RESET_REASON_BOOTLOAD.
|
||||
*
|
||||
* The reset cause is only valid if @ref BootloaderResetCause_t.signature
|
||||
* is set to @ref BOOTLOADER_RESET_SIGNATURE_VALID.
|
||||
* @code BootloaderResetCause_t resetCause = {
|
||||
* .reason = BOOTLOADER_RESET_REASON_BOOTLOAD,
|
||||
* .signature = BOOTLOADER_RESET_SIGNATURE_VALID
|
||||
* } @endcode
|
||||
*
|
||||
* When the bootloader reboots back into the app, it sets the reset
|
||||
* reason to @ref BOOTLOADER_RESET_REASON_GO if the bootload succeeded,
|
||||
* or @ref 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
|
||||
* @ref bootloader_rebootAndInstall function is called.
|
||||
* @{
|
||||
******************************************************************************/
|
||||
|
||||
/// Reset cause of the bootloader
|
||||
typedef struct {
|
||||
/// Reset reason as defined in the [reset information](@ref ResetInterface)
|
||||
uint16_t reason;
|
||||
/// Signature indicating whether the reset reason is valid
|
||||
uint16_t signature;
|
||||
} BootloaderResetCause_t;
|
||||
|
||||
/// Unknown bootloader cause (should never occur)
|
||||
#define BOOTLOADER_RESET_REASON_UNKNOWN 0x0200u
|
||||
/// Bootloader caused reset telling app to run
|
||||
#define BOOTLOADER_RESET_REASON_GO 0x0201u
|
||||
/// Application requested that bootloader runs
|
||||
#define BOOTLOADER_RESET_REASON_BOOTLOAD 0x0202u
|
||||
/// Bootloader detected bad external upgrade image
|
||||
#define BOOTLOADER_RESET_REASON_BADIMAGE 0x0203u
|
||||
/// Fatal Error or assert in bootloader
|
||||
#define BOOTLOADER_RESET_REASON_FATAL 0x0204u
|
||||
/// Forced bootloader activation
|
||||
#define BOOTLOADER_RESET_REASON_FORCE 0x0205u
|
||||
/// OTA Bootloader mode activation
|
||||
#define BOOTLOADER_RESET_REASON_OTAVALID 0x0206u
|
||||
/// Bootloader initiated deep sleep
|
||||
#define BOOTLOADER_RESET_REASON_DEEPSLEEP 0x0207u
|
||||
/// Application verification failed
|
||||
#define BOOTLOADER_RESET_REASON_BADAPP 0x0208u
|
||||
/// Bootloader requested that first stage upgrades main bootloader
|
||||
#define BOOTLOADER_RESET_REASON_UPGRADE 0x0209u
|
||||
/// Bootloader timed out waiting for upgrade image
|
||||
#define BOOTLOADER_RESET_REASON_TIMEOUT 0x020Au
|
||||
/// Soft-reset was forced to handle a fault
|
||||
#define BOOTLOADER_RESET_REASON_FAULT 0x020Bu
|
||||
/// Soft-reset was forced to handle a security fault
|
||||
#define BOOTLOADER_RESET_REASON_TZ_FAULT 0x020Cu
|
||||
|
||||
/// Insufficient slot space to re-create a new firmware
|
||||
#define BOOTLOADER_RESET_REASON_NO_SLOT_SPACE 0x020Du
|
||||
/// CRC mismatch of the newly re-constructed firmware
|
||||
#define BOOTLOADER_RESET_REASON_BADCRC 0x020Eu
|
||||
/// Re-creation of the new application using the DDFU library failed
|
||||
#define BOOTLOADER_RESET_REASON_DDFU_FAIL 0x020Fu
|
||||
|
||||
/// Reset signature is valid
|
||||
#define BOOTLOADER_RESET_SIGNATURE_VALID 0xF00Fu
|
||||
/// Reset signature is invalid
|
||||
#define BOOTLOADER_RESET_SIGNATURE_INVALID 0xC33Cu
|
||||
|
||||
/** @} (end addtogroup ResetInterface) */
|
||||
/** @} (end addtogroup CommonInterface) */
|
||||
/** @} (end addtogroup Interface) */
|
||||
|
||||
#endif // BTL_RESET_INFO_H
|
||||
Reference in New Issue
Block a user