ZHDA045 January 2026 MSPM0G1518 , MSPM0G1519 , MSPM0G3518 , MSPM0G3519
--define=_BOOT_SIZE_=(8*1024)
--define=_VERSION_SIZE_=(256)
--define=_TOTAL_SIZE_=(8*1024+256)
MEMORY
{
BOOT (RX) : origin = 0x00000000, length = _BOOT_SIZE_
FLASH_VERSION (RWX) : origin = _BOOT_SIZE_, length = _VERSION_SIZE_
FLASH (RX) : origin = _BOOT_SIZE_ + _VERSION_SIZE_, length = 0x00040000 - _BOOT_SIZE_ - _VERSION_SIZE_
SRAM_BANK0 (RWX) : origin = 0x20200000, length = 0x00010000
SRAM_BANK1 (RWX) : origin = 0x20210000, length = 0x00010000
BCR_CONFIG (R) : origin = 0x41C00000, length = 0x000000FF
BSL_CONFIG (R) : origin = 0x41C00100, length = 0x00000080
DATA (R) : origin = 0x41D00000, length = 0x00004000
}
SECTIONS
{
.version_info : palign(8) {} > FLASH_VERSION
.intvecs: > _TOTAL_SIZE_
.text : palign(8) {} > FLASH
.const : palign(8) {} > FLASH
.cinit : palign(8) {} > FLASH
.pinit : palign(8) {} > FLASH
.rodata : palign(8) {} > FLASH
.ARM.exidx : palign(8) {} > FLASH
.init_array : palign(8) {} > FLASH
.binit : palign(8) {} > FLASH
}
应用程序区域紧跟在 CSC 之后,从 0x0000.2000 地址开始。
在应用程序区域的起始位置,版本信息 (.version_info) 以 uint32_t 格式存储,只需 4 个字节。但是,由于 Arm Cortex-M0+ VTOR(矢量表偏移寄存器)对齐要求为 0x100(256 字节),因此版本信息段被分配 0x100(256 字节)。
闪存存储器容量因 MCU 型号而异。因此,用户必须为其具体器件配置适当的存储器边界。本示例基于具有 256kB 闪存的 MSPM0G3519。