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.

[参考译文] TMS320F28P559SJ-Q1:如何生成"仅数据"十六进制文件

Guru**** 2454880 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1519797/tms320f28p559sj-q1-how-to-generate-the-data-only-hex-file

器件型号:TMS320F28P559SJ-Q1

工具/软件:

您好专家

客户需要生成定制的 S/W 版本信息并下载到 FLASH_BANK_4、它应该是附加到 APP 十六进制文件的十六进制文件数据。 客户如何使用 CCS 生成这些数据?

谢谢

Joe

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

    最好直接在可执行.out 文件中对版本信息进行编码、然后从中提取。

    在一个源文件中添加与以下类似的行:

    __attribute__((retain))
    static const char version_string[] = "VERSION: 1.2.3";

    然后使用类似的命令将可执行文件转储为 ASCII 字符...

    od -Anone -w200 -c file.out > dump.txt

    在该命令中、 -w200 表示每行转储200个字符。  这可以减少但不能消除版本字符串跨越两行的可能性。  检查 dump.txt 找到类似的东西...

     V  \0   E  \0   R  \0   S  \0   I  \0   O  \0   N  \0   :  \0      \0   1  \0   .  \0   2  \0   .  \0   3  \0

    这是因为类型 字符 C28x 上的宽度为16位。  这样看、每个 ASCII 字符之间有一个0字节。  使用大多数文本编辑器、您可以将其自动更改为接近以下值的内容:

    VERSION: 1.2.3

    谢谢。此致、

    -乔治