ZHCU875Z August 2001 – October 2023 SM320F28335-EP
应用二进制接口 (ABI) 定义了目标文件之间以及可执行文件与其执行环境之间的低级接口。ABI 的存在是为了能让符合 ABI 的目标代码链接在一起,而不管其来源如何,并允许生成的可执行文件在支持该 ABI 的任何系统上运行。
C28x 代码生成工具支持 COFF ABI 和 EABI ABI。汇编器使用的 ABI 由 --abi 命令行选项确定。
使用 COFF ABI 时,输出文件为 COFF 格式。相关详细信息,请参阅《通用目标文件格式应用报告》(SPRAAO8)。
使用 EABI 时,输出文件为可执行连接格式 (ELF)。有关 EABI ABI 的信息,请参阅《TMS320C28x 优化 C/C++ 编译器用户指南》(SPRU514) 和《C28x 嵌入式应用二进制接口应用报告》(SPRAC71)。
应用中的所有目标文件都必须是针对相同 ABI 构建的。链接器会检测目标模块符合不同 ABI 的情况并生成错误。
将汇编文件从 COFF API 转换为 EABI 需要对汇编代码进行一些更改。例如,当引用存储器段时,通常需要进行以下更改:
本指南中的示例通常是针对 COFF ABI 编写的。