Site Search

Silicon Labs EFM32: What is the UART Bootloader?

EFx32

Programming an MCU is normally done via the debug interface (SW), but a UART bootloader allows programming via UART.
EFM32s without built-in USB are shipped with a UART bootloader programmed at the top of the flash memory. This UART bootloader is designed to write data received via UART to flash memory. In other words, programming can be done from a PC via UART.

Article header uart boot 3

Normally, user code is placed at the beginning of flash memory (address 0x0000), but since the bootloader is located here, you must specify an offset for the location of user code in the linker option when building. See AN0003 (UART Bootloader) for detailed instructions.
Since the bootloader is located in flash memory, the size that can be allocated for user code is reduced accordingly. If you don't need the UART bootloader, overwrite or erase it.

In the case of EFM32 Gemstone (EFM32PG, EFM32JG), the bootloader is located in a dedicated area, not in the user code area. This avoids consuming user code space.


2016/4/14: Added EFM32PG/JG

Experienced FAE
Free consultation is available.

From specific product specifications to parts selection, the Company FAE will answer your technical concerns free of charge. Please feel free to contact us.