工具与软件:
尊敬的 Supportteam:
我们正在 MSPM0g3507上使用次级引导加载程序。 我们修改了工程的.cmd 文件、如下所示:
小程序
{
Flash (RX):origin = 0x00000000、length = 0x00001000
FLASH2 (RX):origin = 0x00004000、length = 0x0001C000
SRAM (rwx):origin = 0x20200000、length = 0x00008000
BCR_CONFIG (R):origin = 0x41C00000、length = 0x00000080
BSL_CONFIG (R):origin = 0x41C00100、length = 0x00000080
}
部分中)
{
.intvecs:> 0x00000000
.text : palign (8){}>> FLASH2.
.const : palign (8){}> FLASH | FLASH2.
.cinit : palign (8){}> FLASH2.
pinit : palign (8){}> FLASH2.
.rodata : palign (8){}> FLASH2.
.arm.exidx:palign (8){}> flash | FLASH2.
.init_array : palign (8){}> flash | FLASH2.
.binit : palign (8){}> flash | FLASH2.
.TI.ramfunc:load = flash、palign (8)、run=sram、table (BINIT)
.vtable :> SRAM
.args :> SRAM.
.data :> SRAM
. bss :> SRAM
.sysmem :> SRAM.
.stack:> SRAM (高电平)
. BCRConfig :{}> BCR_CONFIG
. BSLConfig :{}> BSL_CONFIG
}
这将导致上述警告:
警告#10092-D:".text"的拆分位置(>>)被忽略:无法使用 PALIGN 运算符拆分对象
并且完整的目标代码始终放置在引导加载程序后面、不可能将前4KB (0x1000)用于.text、因此我们得到:
名称源长度已使用未使用属性填充
--------------- --- --- --- --- ---
闪存00000000 00001000 000003a8 00000c58 R X
FLASH2 00004000 0001c000 00003eb0 00018150 R X
这意味着闪存区域中有3160个未使用的字节。
我的配置是否有简单的解决方案?
因为我想组合使用两个闪存区域。 尤其是我们在引导加载程序映像之后涉及到 EEPROM 仿真时。
或者、将次级引导加载程序放置在地址0x400上以减少存储器空洞的唯一解决方案是吗?