ZHCU875Z August 2001 – October 2023 SM320F28335-EP
链接器支持链接器命令文件语法的扩展,使您能够进行以下操作:
SECTIONS
{
...
UNION
{
GROUP
{
.task1: { task1.c.obj(.text) }
.task2: { task2.c.obj(.text) }
} load = ROM, table(_task12_copy_table)
GROUP
{
.task3: { task3.c.obj(.text) }
.task4: { task4.c.obj(.text) }
} load = ROM, table(_task34_copy_table)
} run = RAM
...
}
使用链接器命令文件为由链接器生成的复制表生成地址中所示的 SECTIONS 指令,链接器可以生成两个名称如下的复制表:_task12_copy_table 和 _task34_copy_table。每个复制表提供与复制表关联的 GROUP 的加载地址、运行地址和大小。可使用链接器生成的符号 _task12_copy_table 和 _task34_copy_table(它们分别提供两个复制表的地址)从应用程序源代码访问此信息。
通过使用此方法,无需担心复制表的创建或维护。您可以在 C/C++ 或汇编源代码中引用由链接器生成的任何复制表的地址,从而将该值传递给通用复制例程,然后该例程将处理复制表并影响实际复制。
复制表是 32 位对齐的。