问题

如何更改EFM32PG/JG UART bootloader 的起始地址?

答案

EFM32PG/JG 预烧录进设备的bootloader被放在地址0xFE100000开始的位置,该bootloader所在的flash位置可以被软件读取但是不可写。

 

如需定制bootloader,可以通过把config.h头文件中的起始地址从0xFE100000更改为0x0来实现。

 

初始设置:

#elif defined(_SILICON_LABS_32B_PLATFORM_2)
#define BOOTLOADER_SIZE         (10*1024)
#define BOOTLOADER_START_ADDR   (0x0FE10000)
#define APPLICATION_START_ADDR  (0)

 

定制设置(bootloader大小为4KB):

#elif defined(_SILICON_LABS_32B_PLATFORM_2)
#define BOOTLOADER_SIZE         (4*1024)
#define BOOTLOADER_START_ADDR   (0)
#define APPLICATION_START_ADDR  BOOTLOADER_SIZE

 

  • Knowledge Base Articles
  • 32-bit MCUs