ZHCU875Z August 2001 – October 2023 SM320F28335-EP
对于 COFF ABI,链接器会自动为汇编源代码中使用的这些段定义符号。程序可在运行时使用这些符号来确定段的链接位置。由于这些符号是外部符号,会出现在链接器映射中。您必须已在源代码模块中使用相应段,这样才会创建这些符号。为这些符号指定的值如下:
.text | 指定 .text 输出段的第一个地址。 (标志着可执行代码的开始。) | |
etext | 指定 .text 输出段后的第一个地址。 (标志着可执行代码的结束。) | |
.data | 指定 .data 输出段的第一个地址。 (标志着已初始化数据表的开始。) | |
edata | 指定 .data 输出段后的第一个地址。 (标志着已初始化数据表的结束。) | |
.ebss | 指定 .ebss 输出段的第一个地址。 (标志着未初始化数据的开始。) | |
end | 指定 .ebss 输出段后的第一个地址。 (标志着未初始化数据的结束。) |
如果使用 --ram_model 或 --rom_model 选项,链接器会自动定义以下符号,以支持 C/C++。
__TI_STACK_SIZE | 指定 .stack 段的大小。(EABI) | |
__TI_STACK_END | 指定 .stack 段的结束。(EABI) | |
__TI_SYSMEM_SIZE | 指定 .sysmem 段的大小。(EABI) | |
__STACK_SIZE | 指定 .stack 段的大小。(COFF) | |
__STACK_END | 指定 .stack 段的结束。(COFF) | |
__SYSMEM_SIZE | 指定 .esysmem 段的大小。(COFF) |
如果使用 .global 指令声明,可在任何汇编语言模块中访问这些链接器定义的符号(请参阅识别全局符号)。
有关在 C/C++ 代码中引用链接器符号的信息,请参阅节 8.6。