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.

[参考译文] CODECOMPOSER:在 CCS 中使用十六进制实用程序生成十六进制文件时、入口点不正确?

Guru**** 2562120 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/978551/codecomposer-when-generating-a-hex-file-with-hex-utility-in-ccs-the-entry-point-is-incorrect

器件型号:CODECOMPOSER

大家好、

根据文档"SPRA958L–2013年1月从 TMS320F28xxx DSP 上的内部闪存运行应用程序":十六进制实用程序应生成一个.hex 文件、其中包含引导加载程序的起始十六进制文件(其中包括入口点)、后跟进入闪存的代码。  当我输入0x3f123456的入口点  (命令行选项 --entrypoint=0x3f123456 --boot --ascii)时、我会在十六进制输出中得到以下前几行:

 

AA 00 00 00 00 00 00 00 12 56 1A 3E 48 FF 00 01 FE 02 00 00 00 FE
04 00 00 00 FE 06 00 1D 3E FE 08 00 1D 3E 00


只有入口点的12和56才会将其转换为十六进制输出。  

如果我放置0x3ff4fa、我得到以下结果:

AA 00 00 00 00 00 00 00 3F FA 1A 3E 48 FF 00 01 FE 02 00 00 00 FE
04 00 00 00 FE 06 00 1D 3E FE 08 00 1D 3E 00

同样、入口点缺少一些字节。


这里发生什么事了?

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

    我还没有尝试过,但是 --romwidth=16会改变行为吗?

    hex2000文档指出、默认的 ROM 宽度 取决于所使用的格式。

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

    这很有效!  非常感谢!  

    --entrypoint=0x12345678 --romwidth=16 --boot --ascii

    10 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 34 56 78 00 1A
    00 3E C8 48 FF FF A0 00 00 00 00 01 FF FE A0 02 00 00 00 00 00 00 00 00 FF FE
    A0 04 00 00 00 00 00 FF FE A0 06 00 C7 1D 00 3E FF FE A0 08 00
    C7 1D 00 3E 00 00 00 00 00 00