Silicon Labs EFR32xG1x

From SEGGER Wiki
Revision as of 11:49, 19 October 2021 by Matthias (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Silicon Labs (SiLabs) EFR32xG1x series devices are Cortex-M4 based MCUs.

Bootloader

On EFR32xG1x series devices, a bootloader is executed after reset. The bootloader is stored in a separate section in the Information memory space of the device. The section is called Bootloader (BL) and located at memory address 0x0FE10000. The size depends on the device. Factory-fresh devices are pre-programmed with a simple bootloader which jumps to the start of the internal flash. However, customers are allowed to exchange the bootloader with a customized one which supports more complex tasks like SPI flash, crypto, etc... Therefore, the J-Link software supports erasing as well as programming of this section.

Problem

When issuing a chip erase, the bootloader section and therefore the bootloader will be erased as well. As a result, the device will no longer boot as no valid bootloader resides in the bootloader section.

Solution

Below, two different solutions are presented. Apart from this, the J-Link software may be adapted in the future to not erase the bootloader section by default.

  1. Do not perform a chip erase. Basically a separate is not necessary as the J-Link software always performs an implicit erase prior programming if required.
  2. Program the bootloader (see Files below) as part of the application or in a separate step after programming the application

Files