ZHCUAU3J January 2018 – March 2024
如果您需要共同管理多个代码段,可以针对多个不同的目标组件应用同一 table() 操作符。此外,如果您要通过多种方式管理特定的目标组件,则可以对其应用多个 table() 操作符。请考虑用于管理目标组件的链接器命令文件中的链接器命令文件片段:
SECTIONS
{
UNION
{
.first: { a1.c.obj(.text), b1.c.obj(.text), c1.c.obj(.text) }
load = EMEM, run = PMEM, table(BINIT), table(_first_ctbl)
.second: { a2.c.obj(.text), b2.c.obj(.text) }
load = EMEM, run = PMEM, table(_second_ctbl)
}
.extra: load = EMEM, run = PMEM, table(BINIT)
...
}
在本例中,输出段 .first 和 .extra 在引导时从外部存储器 (EMEM) 复制到程序存储器 (PMEM),同时处理 BINIT 复制表。应用开始执行其主线程后,可以使用两个叠加复制表管理叠加的内容,这两个复制表分别命名为:_first_ctbl 和 _second_ctbl。