Bootloader Core

Description

Core bootloader functionality.

Core functionality for the Silicon Labs Bootloader.

Modules

Bootload
Methods to verify and bootload application images.
 
Flash
Interface to internal flash.
 
Reset
Methods to reset from the bootloader to the app.
 
TrustZone
TrustZone utilities.
 
Upgrade
Methods to verify and upgrade the main bootloader.
 

Macros

#define BOOTLOADER_ENFORCE_SIGNED_UPGRADE
 The bootloader will enforce signed upgrade images.
 
#define BOOTLOADER_ENFORCE_ENCRYPTED_UGPRADE
 The bootloader will enforce encrypted upgrade images.
 
#define BOOTLOADER_ENFORCE_SECURE_BOOT
 The bootloader will enforce signed applications.
 
#define BOOTLOADER_SUPPORT_STORAGE
 The bootloader supports the storage interface (application bootloader)
 
#define BOOTLOADER_SUPPORT_COMMUNICATION
 The bootloader supports the communication interface (standalone bootloader)
 
#define BTL_APP_SPACE_SIZE
 Size of the area set aside for the application.
 

Functions

int32_t btl_init (void)
 
int32_t btl_deinit (void)
 

Macro Definition Documentation

#define BTL_APP_SPACE_SIZE

Size of the area set aside for the application.

During firmware upgrade, the bootloader will ensure that the new application image is within the boundaries set by the start of the application and the start + the value of this define. If using an NVM system, the size of this define can be reduced to protect the NVM system from being overwritten by an attempted application upgrade using a too large application image.

Definition at line 51 of file btl_capabilities.h.

Function Documentation

int32_t btl_init ( void  )

Initialize bootloader.

Returns
Error code. BOOTLOADER_OK on success, else error code in BOOTLOADER_ERROR_INIT_BASE range.
int32_t btl_deinit ( void  )

Deinitialize bootloader.

Returns
Error code. BOOTLOADER_OK on success, else error code in BOOTLOADER_ERROR_INIT_BASE range.