Gecko Bootloader API Reference

Additional Gecko Bootloader Documentation | Release Notes | Downloads

To use the application interface in your application, include the api/btl_interface.h header in your application, and add the following files to the build:

Bootloader Components

The bootloader itself consists of multiple parts:

Core

The bootloader core contains the main function of both bootloader stages. It also contains functionality to write to the internal main flash, to perform a bootloader upgrade, and to reset into the application flagging applicable reset reasons. See the core documentation for more information.

Driver

Different bootloading applications require different hardware drivers for use by the other components of the bootloader. See the driver documentation for more information.

Plugin

All parts of the bootloader that are either optional or swappable for different implementations are implemented as plugins. Each plugin has a generic header file, and one or more implementations. The current release contains plugins for functionality like UART and SPI communication protocols, SPI flash storage, internal flash storage, and different cryptographic operations. For more information about the different plugins, see the plugin documentation.

Additional Gecko Bootloader Documentation

The following are Gecko Bootloader documents that apply to most protocol SDKs in the Gecko SDK Suite. Some protocol SDKs also include information specific to working with that protocol. These are included as well.

Developing with the Gecko Bootloader

UG103.06: Bootloader Fundamentals - Introduces bootloading for Silicon Labs networking devices. Discusses the Gecko Bootloader as well as legacy Ember and Bluetooth bootloaders, and describes the file formats used by each.

UG489: Silicon Labs Gecko Bootloader User's Guide for GSDK 4.0 and Higher - Describes the high-level implementation of the Silicon Labs Gecko Bootloader for EFR32 SoCs and NCPs, and provides information on how to get started using the Gecko Bootloader with Silicon Labs wireless protocol stacks in GSDK 4.0 and higher.

AN1326: Transitioning to the Updated Gecko Bootloader in GSDK 4.0 and Higher - Gecko Bootloader v2.x, introduced in GSDK 4.0, contains a number of changes compared to Gecko Bootloader v1.x. This document describes the differences between the versions, including how to configure the new Gecko Bootloader in Simplicity Studio 5.

AN1218: Series 2 Secure Boot with RTSL - Contains detailed information on configuring and using the Secure Boot with hardware Root of Trust and Secure Loader on Series 2 devices, including how to provision the signing key. This is a companion document to UG489: Silicon Labs Gecko Bootloader User's Guide for GSDK 4.0 and Higher.

Protocol-Specific Information

AN1086: Using the Gecko Bootloader with Silicon Labs Bluetooth Applications - Includes detailed information on using the Gecko Bootloader with Silicon Labs Bluetooth applications. It supplements the general Gecko Bootloader implementation information provided in UG489: Silicon Labs Gecko Bootloader User's Guide for GSDK 4.0 and Higher.

AN1085: Using the Gecko Bootloader with Silicon Labs Connect - Includes detailed information on using the Silicon Labs Gecko Bootloader with Connect. It supplements the general Gecko Bootloader implementation information provided in UG489: Silicon Labs Gecko Bootloader User's Guide for GSDK 4.0 and Higher.

AN1084: Using the Gecko Bootloader with Zigbee EmberZNet - Includes detailed information on using the Silicon Labs Gecko Bootloader with EmberZNet. It supplements the general Gecko Bootloader implementation information provided in UG489: Silicon Labs Gecko Bootloader User's Guide for GSDK 4.0 and Higher.