主题中讨论的其他器件: TMS320F28379D、 C2000WARE
工具/软件:TI C/C++编译器
我们的项目是在 TMS320F28069控制器上开发的、代码将通过 WinAMS 工具进行单元测试。 为了提取函数、此工具需要包含所有函数的整个工程的目标文件。 根据提供的信息、它支持 ELF 或第三方编译器生成的任何其他目标文件。 但是、 此 wiki 页面介绍了 C2000系列没有 ELF 支持、因此如何为项目创建目标文件?
我使用的是 CCS 7.1、TI 编译器 v6.4.2
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:TI C/C++编译器
我们的项目是在 TMS320F28069控制器上开发的、代码将通过 WinAMS 工具进行单元测试。 为了提取函数、此工具需要包含所有函数的整个工程的目标文件。 根据提供的信息、它支持 ELF 或第三方编译器生成的任何其他目标文件。 但是、 此 wiki 页面介绍了 C2000系列没有 ELF 支持、因此如何为项目创建目标文件?
我使用的是 CCS 7.1、TI 编译器 v6.4.2
Devvrat、
添加到 Tom 的回复中的几个要点。
- C2000的当前 CCS 工具仅支持 COFF、不支持 ELF。 ELF 支持将在未来推出。
- COFF 和 ELF 是不同的目标文件格式。 要了解基本差异、请查看 此页面。 第一步、您需要确认您使用的测试工具是否接受 COFF。
-对于有关 COFF 输出文件的问题、默认情况下、CCS 在成功构建工程后会生成一个 COFF 目标文件(扩展名为.out)。 如果未为您的工程创建.out 文件、则可能会出现一些错误、导致编译失败。 请仔细查看 CCS 编译控制台以了解错误。 然后、使用此论坛的搜索功能并浏览此 Resource Explorer 链接下提供的 CCS 文档 、以帮助解决论坛中讨论的许多常见构建错误以及文章中记录的错误。
[引用 user="Aarticg">当前用于 C2000的 CCS 工具仅支持 COFF、不支持 ELF。 ELF 支持将在将来提供。[/quot] ti-cgt-C2000_18.9.0.STS 自述文件介绍了对 ELF 的支持、而 CCS 8.2.0.00007允许在使用该编译器版本时将输出格式选择为"eabi (ELF)"。
使用 CCS 8.2.0.00007和 ti-CGT-C2000_18.9.0.STS 能够为 TMS320F28379D 创建 ELF 程序、该程序可进行调试。 在 C2000完成对 ELF 的支持之前、还有哪些更改?
我确实注意到 、ti-cgt-C2000_18.9.0.STS 链接器可以报告以下警告、但引用的 Wiki 页面当前不存在:
[引用]警告#10440-D:创建不带 SECTIONS 规范的输出段".init_array"。 有关此部分的其他信息、请参阅 http://processors.wiki.ti.com/index.php/C28x_EABI:C28x_EABI_Migration#C6x_EABI_Sections上的"C28x EABI 迁移"指南
Chester Gillon 说:ti-cgt-C2000_18.9.0.STS 的自述文件介绍了对 ELF 的支持,而 CCS 8.2.0.00007允许在使用该编译器版本时将输出格式选择为"eabi (ELF)"。
切斯特、正确的做法是18.9.0.STS 支持 ELF、而 CCS 8.2允许您为 ELF 进行选择和构建。 但是、实际上、目前它的使用受到限制、因为 C2000Ware 中的大多数现有 C2000软件、库、示例尚未移植到 EABI。
[引用 user="Chester Gillon"]我注意 到 ti-CGT-C2000_18.9.0.STS 链接器可以报告以下警告,但引用的 Wiki 页面当前不存在:
很好的收获 这是一个拼写错误-应该是 http://processors.wiki.ti.com/index.php/C2000_EABI_Migration#C28x_EABI_Sections。
我已经提交了一个错误报告来跟踪此情况、ID 是 CodeGen-5488。