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.

[参考译文] F28M36P63C2:十六进制文件 ROM 大小和对齐方式

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/755178/f28m36p63c2-hex-file-rom-size-and-alignment

器件型号:F28M36P63C2

我正在解析十六进制文件、无法正确对齐。 当它尝试写入奇数地址时、它仍然是内存浏览器中的 FFFF。

数据记录:字节:06地址:00139AE0 CRC:82数据:76 1A FF 69 00 06
数据记录:字节:20地址:00139AE3 CRC:61数据:00 73 00 77 00 7A 00 7E 00 82 00 86 00 8A 00 8E 00 92 00 96 00 9A 00 00 00 9E 00 A2 00 A6 00 AA 00 AE
数据记录:字节:20地址:00139AF3 CRC:4A 数据:00 B3 00 B7 00 BB 00 BF 00 C3 00 C7 00 CB 00 CF 00 D3 00 D7 00 DA 00 DE 00 E2 00 E6 00 EA 00 ED
数据记录:字节:20地址:00139B03 CRC:9B 数据:00 F1 00 F4 00 F8 00 FB 00 FF 01 02 01 06 01 09 01 0C 01 0F 01 12 01 15 01 18 01 1B 01 1E 01 21
数据记录:字节:20地址:00139B13 CRC:BC 数据:01 24 01 27 01 29 01 2C 01 2E 01 31 01 33 01 36 01 38 01 3A 01 3D 01 3F 01 41 01 43 01 45 01 47

我在十六进制实用程序中设置了以下标志:

--romwidth=16 --intel

我正在 链接器中使用 align (4)。

当与调试器配合使用时、此代码会正确放置、但十六进制代码不起作用。 在生成十六进制以强制正确对齐时、是否可以设置任何其他标志?

我感谢你的任何帮助。 谢谢!

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

    我需要一个测试案例、以便重现问题。  请提供以下内容。

    • 十六进制实用程序的版本。  请注意、这与编译器的版本相同、但与 CCS 的版本不同。
    • 显示如何调用十六进制实用程序
    • 十六进制实用程序看到的所有输入文件。  将其放入 zip 文件中、并将其附加到下一篇文章中。  即使它只是一个文件也是如此。

    此外、显示了几行从地址0x00139AE0之前开始的十六进制实用程序输出。  描述这与您的期望有何不同、这是导致什么问题以及原因。

    谢谢、此致、

    乔治

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

    我已经外出度假了,但感谢你的答复。

    我正在使用自定义十六进制解析程序、但问题在于 CCS 是如何创建它的。 我不认为应该以奇数的地址开始这条线路。

    完成此操作后、微控制器会尝试写入奇数地址并失败。 这是正确的想法吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我发现有其他库具有相应的链接器文件。 一旦我把这些东西向下搜索并对齐、一切都被正确放置。 感谢您的关注。