Modules
The following is a list of the different bootloader APIs, both those that are internal to the bootloader, and those available to any application running alongside the bootloader.
| ▼ Application Interface | Application interface to the bootloader |
| Application Parser Interface | Application interface for the bootloader image parser |
| Application Properties | Properties of the application that can be accessed by the bootloader |
| Application Storage Interface | Application interface for interfacing with the bootloader storage |
| ▼ Common Application Interface | Generic application interface available on all versions of the bootloader, regardless of the available components |
| Reset Information | Passing information when resetting into and out of the bootloader |
| ▼ Bootloader Core | Core bootloader functionality |
| 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 |
| ▼ Components | |
| ▼ Communication | Host communication interface |
| ▼ Utils | |
| ▼ XMODEM Parser | Parser for XMODEM packets |
| Commands | |
| Debug | Debug Component |
| ▼ Decompressor | Decompressors for Gecko Bootloader |
| LZ4 Decompressor | LZ4 decompressor |
| ▼ GPIO Activation | Enter bootloader based on GPIO state |
| Button GPIO | Enter bootloader based on Button GPIO state |
| EZSP GPIO | Enter bootloader based on EZSP GPIO state |
| ▼ Image Parser | |
| ▼ GBL Parser | GBL parser implementation |
| ▼ Custom GBL Tags | Handle custom GBL tags for added functionality in the GBL parser |
| LZ4 Programming Tag | Tag to handle LZ4 compressed programming data |
| LZMA Programming Tag | Tag to handle LZMA compressed programming data |
| GBL Format | |
| ▼ Security | Collection of security components |
| AES | AES decryption functionality for bootloader |
| CRC16 | CRC16 functionality for the bootloader |
| CRC32 | CRC32 functionality for the bootloader |
| Decryption | Generic decryption functionality for bootloader |
| ▼ ECDSA | ECDSA signing functionality for the bootloader |
| ECC Library | Elliptic Curve Cryptography Library |
| SHA256 | SHA-256 Cryptography Library |
| SHA_256 | SHA-256 digest functionality for the bootloader |
| Tokens | Manufacturing token handling for the bootloader |
| ▼ Storage | Storage component |
| Bootload Info | Indicates which firmware update image should be bootloaded next |
| SPI Flash Configurations | Configuration parameters for SPI flashes |
| SPI Flash Configurations using SFDP | Configuration parameters for SPI flashes Using JEDEC SFDP Standard |
| ▼ Driver | Hardware drivers for bootloader |
| Delay | Basic delay functionality |
| SPI | Basic Serial Peripheral Interface Driver |
| SPI Peripheral | SPI Peripheral Interface driver |
| UART | Serial UART Interface Driver |
| ▼ Error Codes | Bootloader error codes |
| Bootloading Error Codes | Bootloader error codes returned by the bootloading process |
| Communication Component Error Codes | Bootloader error codes returned by communication components |
| Compression Error Codes | Bootloader error codes returned by the decompressor |
| Error Code Base Values | Bootloader error code base values, per logical function |
| Image Parser Error Codes | Bootloader error codes returned by the image file parser |
| Initialization Error Codes | Bootloader error codes returned by initialization code |
| Parse Error Codes | Bootloader error codes returned by image parsing |
| SPI Peripheral Driver Error Codes | Bootloader error codes returned by the SPI Peripheral driver |
| Security Error Codes | Bootloader error codes returned by security algorithms |
| Storage Driver Error Codes | Bootloader error codes returned by a storage driver |
| UART Driver Error Codes | Bootloader error codes returned by the UART driver |
| XMODEM Error Codes | Bootloader error codes returned by the XMODEM parser |