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.

[参考译文] TMS320F280039:帮助了解.out 文件 (SPRAAO8)

Guru**** 2513185 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1561255/tms320f280039-help-understanding-out-files-spraao8

器件型号:TMS320F280039
主题:C2000WARE 中讨论的其他器件

工具/软件:

我正在阅读 SPRAAO8(日期为 09 年 4 月、www.ti.com/.../spraao8.pdf 252Fdownloads.ti.com%252F://www.253A%252F%COFF) 以了解编译器 ts 输出的格式。 表 2 列出了文件头中的一些标志。 我的.out 文件具有标志 0x1183。 我理解这是指 F_RELFLG | F_EXEC | F_Little | F_SYMMERGE、还有一个设置位:0x0080。 很遗憾、这个位没有记录下来、ofd2000 工具也没有解释。 这是什么意思?

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

    我对您在研究 COFF 时感到有点惊讶。  它仍然受支持、但从不用于新工程。  C2000Ware(和其他类似封装)几年前结束了对 COFF 的支持。  替换为 ELF、这是使用进行构建时使用的目标文件格式 -- abi=eabi 。  文章 TI 目标文件格式的简要历史记录中提供了更多详细信息。   

    COFF 文件标头标志值 0x10、0x20、0x40、0x80 用于指示所使用的 CPU 的型号。  如今、唯一仍然相关的区别是是否使用了 32 位浮点单元。  请考虑以下示例命令:

    C:\examples>type file.c
    int a;
    
    C:\examples>cl2000 file.c
    
    C:\examples>ofd2000 --obj_display=none,header file.obj | findstr "f_flags CPU"
        TI-COFF f_flags:           0x00000110
        CPU Generation:            C2800
    
    C:\examples>cl2000 --float_support=fpu32 file.c
    
    C:\examples>ofd2000 --obj_display=none,header file.obj | findstr "f_flags CPU"
        TI-COFF f_flags:           0x00000180
        CPU Generation:            C28FPU32

    ofd2000 命令转储该目标文件的文件头文件。  。 findstr 命令将输出限制为标头标志和 CPU 型号的行。

    谢谢。此致、

    -乔治

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

    谢谢 George。  我是否可以参考 SPRAAO8 的更新版本或其他一些文档来了解这些位?

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

    很遗憾、不会  SPRAA08 是 TI COFF 型号的唯一文档。  没有计划更新。

    谢谢。此致、

    -乔治