部件号: MSPM0G1507
您好、
我们使用的是 MSPM0G1507SPTR。 我们正在考虑在启动代码中执行我们自己的内存初始化、而不是完全依赖_c_int00 ()。
在链接器命令文件中、我们尝试使用 LOADADDR (.data) 来获取.data 段的闪存加载地址、但会导致链接器错误。
我们的理解是 LOADADDR() 是 GCC 链接器脚本语法、不能在 TI 链接器命令文件中使用。
对于 TI 链接器命令文件、我们是否应该改用 LOAD_START ()、RUN_START ()、RUN_END () 等?
例如、以下方法是否正确?
数据: palign(8)
{
*(.data)
*(.data.*)
} LOAD = FLASH、RUN = SRAM、
LOAD_START (_sidata)、
run_start (_sdata)、
run_end (_edata)
BSS : palign(8)
{
*(.bss)
*(.bss.*)
} RUN = SRAM、
RUN_START (_SBSS)
RUN_END (_ebss)
在本例中、我们计划在启动代码中将.data 从_sidata 复制到_sdata–_edata、并将.bss 从_sbss 清除为_ebss。 您能否确认此理解是否正确?
谢谢、
Conor