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.

[参考译文] 编译器/TMS320F28069:为 C2000创建 ELF 或任何其他目标文件

Guru**** 2551110 points
Other Parts Discussed in Thread: TMS320F28069, TMS320F28379D, C2000WARE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/740869/compiler-tms320f28069-creating-elf-or-any-other-object-file-for-c2000-faimly

器件型号:TMS320F28069
主题中讨论的其他器件: TMS320F28379DC2000WARE

工具/软件:TI C/C++编译器

我们的项目是在 TMS320F28069控制器上开发的、代码将通过 WinAMS 工具进行单元测试。 为了提取函数、此工具需要包含所有函数的整个工程的目标文件。 根据提供的信息、它支持 ELF 或第三方编译器生成的任何其他目标文件。 但是、  wiki 页面介绍了 C2000系列没有 ELF 支持、因此如何为项目创建目标文件?

我使用的是 CCS 7.1、TI 编译器 v6.4.2

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Devvrat、您好!

    [引用 user="Devvrat Arya56">根据提供的支持 ELF 的信息或第三方编译器生成的任何其他目标文件。 [/报价]

    如果它支持任何其他目标文件... 您可以使用 COFF。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在发布文件夹中、我也找不到任何.coff 目标文件。我还检查了 C2000链接器设置中存在的输出选项、并且-coff 文件没有选项。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、我的设置与上述相同、在这里可以找到.coff 输出文件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    COFF 是输出文件格式、而不是文件扩展名。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    www.ti.com/.../spraao8.pdf
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    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。