ZHCU876Z July 2001 – October 2023 SM320F28335-EP
本节适用于使用 COFF ABI 的应用程序。
如果您的系统配置不支持将已初始化的段(如 .econst)分配给数据内存,则必须分配 .econst 段才能加载到程序内存中,并在数据内存中运行。在启动时,将 .econst 段从程序复制到数据内存。以下序列说明了如何执行此任务。
ar2000 -x rts.src boot.asm
CONST_COPY .set 1
cl2000 boot.asm
ar2000 -r rts2800_ml.lib boot.c.obj
对于 .const 段,使用包含以下条目的链接器命令文件进行链接:
SECTIONS
{ ...
.econst : load = PROG PAGE 1, run = DATA PAGE 1
{
/* GET RUN ADDRESS */
__econst_run = .;
/* MARK LOAD ADDRESS */
*(.ec_mark)
/* ALLOCATE .econst */
*(.econst)
/* COMPUTE LENGTH */
__econst_length = - .__econst_run;
}
}
在链接器命令文件中,您可以在第 0 页使用内存区域的名称替换名称 PROG,在第 1 页使用内存区域的名称替换 DATA。命令文件的其余部分必须使用上述名称。将 CONST_COPY 更改为 1 时启用的 boot.asm 中的代码取决于以这种方式使用这些名称的链接器命令文件。若要更改任何名称,必须编辑 boot.asm,并以相同的方式更改名称。