The Silicon Labs Gecko Bootloader is a common bootloader for all the newer MCUs and wireless MCUs from Silicon Labs. The Gecko Bootloader can be configured to perform a variety of bootload functions, from device initialization to firmware upgrades. In this article, we will compare the difference between Legacy Bootloader and Gecko Bootloader for EFR32MG Devices on ZigBee side.
For EM35x devices and EFR32MG1x parts, usually, you can find the prebuild legacy bootloader for some part numbers in the following stack installation directory. For some EFR32MG1 QFN32 parts, we already had a KBA to discuss how to make customized ZigBee bootloader.
For EFR32MG12x/EFR32MG13x and newer parts, usually, you can only choose Gecko Bootloader for them. We don't provide the prebuild Gecko Bootloader right now, so custom need to build it by themselves, it is easy to build the Gecko Bootloader within Gecko Bootloader SDK, since there are many kinds of Samples in the SDK. Actually, for EFR32MG parts, no matter it is EFR32MG1x or EFR32MG12x(beyond) parts, we recommend custom to use Gecko Bootloader, since the Gecko Bootloader can be upgraded in the field.
Here are some tags for the difference between Legacy Bootloader and Gecko Bootloader:
Legacy Bootloader:
Can be used for EM35x devices, resides in main flash, it starts from 0x0000 address.
Can be used for EFR32MG1 devices, resides in main flash, it starts from 0x0000 address.
It is prebuild bootloader, can be found in stack installation directory.
For some EFR32MG1 QFN32 parts, need to make customized ZigBee bootloader.
The bootloader can be erased with "commander device masserase".
It includes two-stages design: First stage and Main Bootloader.
First stage is very simple and only knows how to boot/upgrade the second stage.
Main bootloader is field upgradeable. It means you can upgrade the Main Bootloader in the field.
Can't be used for EM35x devices.
Recommend to be used for any EFR32MGx devices.
Need to build within Gecko Bootloader SDK.
For EFR32MG1x devices, the Gecko Bootlaoder resides in main flash, it starts from 0x0000 address.
The bootloader can be erased with "commander device masserase".
For EFR32MG12x and newer devices, the Gecko Bootlaoder resides in bootloader area, the First stage bootloader starts from @ 0x0FE10000, the Main bootloader starts from@ 0x0FE10800 address.
The bootloader can't be erased with "commander device masserase".
If you want to remove the Gecko Bootloader, a new dummy Bootloader (can be found in stack installation directory) has to be flashed.
Bootloader "-combined" file with both first-stage and second-stage (Main Bootloader) in one file.
For the first time, the first stage should be flashed to the chip, so you must flash the "-combined" Bootloader for the first time. Then in future, you only need to flash the second-stage (Main Bootloader).
Secure Firmware Update
Verification of new image before bootloading
Signed GBL file: ECDSA-P256->ensures only accepting images trusted by vendor
Encrypted GBL file: AES-128 ->ensures encryption during transfer, image storage
What EFR32 device is under the hood of the various BGM/MGM module products?
Answer
See this table for a mapping of the EFR32 inside the module:
This is important for application development, as Simplicity Studio and Simplicity Commander identify the module by the EFR32 device inside rather than by the module itself. Efforts are in process to allow for module identification within Studio/Commander for a future release.
Zigbee & Thread Knowledge Base
The difference between Legacy Bootloader and Gecko Bootloader for EFR32MG Parts
The Silicon Labs Gecko Bootloader is a common bootloader for all the newer MCUs and wireless MCUs from Silicon Labs. The Gecko Bootloader can be configured to perform a variety of bootload functions, from device initialization to firmware upgrades. In this article, we will compare the difference between Legacy Bootloader and Gecko Bootloader for EFR32MG Devices on ZigBee side.
For EM35x devices and EFR32MG1x parts, usually, you can find the prebuild legacy bootloader for some part numbers in the following stack installation directory. For some EFR32MG1 QFN32 parts, we already had a KBA to discuss how to make customized ZigBee bootloader.
For EFR32MG12x/EFR32MG13x and newer parts, usually, you can only choose Gecko Bootloader for them. We don't provide the prebuild Gecko Bootloader right now, so custom need to build it by themselves, it is easy to build the Gecko Bootloader within Gecko Bootloader SDK, since there are many kinds of Samples in the SDK. Actually, for EFR32MG parts, no matter it is EFR32MG1x or EFR32MG12x(beyond) parts, we recommend custom to use Gecko Bootloader, since the Gecko Bootloader can be upgraded in the field.
Here are some tags for the difference between Legacy Bootloader and Gecko Bootloader:
Legacy Bootloader:
Gecko Bootloader:
EFR32xG devices inside BGM/MGM modules
Question
What EFR32 device is under the hood of the various BGM/MGM module products?
Answer
See this table for a mapping of the EFR32 inside the module:
This is important for application development, as Simplicity Studio and Simplicity Commander identify the module by the EFR32 device inside rather than by the module itself. Efforts are in process to allow for module identification within Studio/Commander for a future release.