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。