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.
工具与软件:
尊敬的团队:
我们当前 使用以下命令并借助十六进制实用程序从.out 文件生成十六进制文件:
命令: hex2000 -i <.out>-o <.hex>-order ms --romwidth=16 -- memwidth=16.
生成的 hex 文件如下所示:
但是、由于字节计数和地址大小不一致、许多十六进制查看器工具会显示错误、例如"重叠线"。 此外、该文件看起来不是标准 Intel 十六进制文件格式。
我们感谢您对以下几点的支持:
我们期待着你对这些问题的指导和建议。
下面是一些相关的背景...对于大多数 CPU 架构、每个地址对应1个8位字节。 这在 C28x 上不适用、其中每个地址对应1个16位字。
请搜索 C28x 汇编工具手册 中标题为" 控制 ROM 器件地址"的子章节。 虽然我无法通过测试确定、但我相信该选项 -字节 可以解决您的问题。 这一小节将介绍其中的原因。
谢谢。此致、
-George.
尊敬的 George Mock
感谢您的答复。
我们根据您的建议尝试了--byte 选项、观察结果如下:
命令1: hex2000 -i <.out>-o <.hex>-order ms --romwidth=16 --memwidth=16
此十六进制文件工作正常、Uniflash 也成功刷写了它。
命令2. : hex2000 -i <.out>-o <.hex>-order ms --romwidth=16 --memwidth=16. -字节
Uniflash 无法在控制器上刷写此十六进制文件、产生错误、如所示 "[错误] C28xx_CPU1:文件加载程序:验证失败:地址0x02C020处的值@程序不匹配请验证目标存储器和存储器映射。"
如果我在十六进制查看器中使用--byte 选项打开该十六进制文件、则在0x02C020位置有一些数据、如果没有--byte 选项、则十六进制文件中的数据不是这样。
我已经附加了在两种情况下都很常见的 COMMAND_1和 COMMAND_2十六进制文件、映射文件和.cmd 文件。
e2e.ti.com/.../Debug_5F00_Artifacts.zip
征求您对此提供有价值的意见。
谢谢、此致、
Vikram Tathe.
命令1: hex2000 -i <.out>-o <.hex>-order ms --romwidth=16 --memwidth=16
此十六进制文件工作正常、Uniflash 也成功刷写了它。
[报价]这种行为是预期行为。 Uniflash 可以显式处理 C28x 寻址存储器的异常方式。 它还支持读取可执行文件( .out )文件作为输入。 无需转换为十六进制文件。
如果我在十六进制查看器中使用--byte 选项打开此十六进制文件、则在0x02C020位置有一些数据、在没有--byte 选项的十六进制文件中则不是这样。
我不熟悉该十六进制查看器及其工作原理。 我可以告诉您该数据同时出现在两个十六进制文件中。 这是来自的线路 COMMAND_1.HEX ...
:2060100003E800000000000000000000000000000000000000000000000000000000000085
这是的对应行 Command_2.hex ...
:20C0200003E800000000000000000000000000000000000000000000000000000000000015
要了解这些行代表什么、 请在 C28x 汇编工具手册 中搜索标题为 Intel MCS-86目标格式的子章节。 您将看到、唯一的区别是地址字段和校验和。 而变化都为 -字节 影响这些参数。
谢谢。此致、
-George.
您好、 George Mock
感谢您的支持。
1.本例中的主要问题是生成的文件与 Uniflash 工具不兼容(请参阅上一篇文章中随附的错误屏幕截图)。
我们还尝试了使用 TI 提供的示例代码进行刷写、但在刷写过程中遇到了相同的错误。
您能否尝试使用以下命令来刷写代码并确认其是否有效? hex2000 -I <.out> -o <.hex> -order MS --romwidth=16 --memwidth=16 --byte
2. In addition to that, could you please review cmd file attached in the previous post. If i miss anything please suggest.
Thanks,
Vikram Tathe
您好、George:
我想就上一篇文章中提到的问题采取后续行动。
您能否告诉我您是否有机会查看并提供任何更新?
谢谢!
Vikram Tathe.
请尝试使用以下命令刷写代码并确认其是否有效?hex2000 -I <.out> -o <.hex> -order MS --romwidth=16 --memwidth=16 --byte
[报价]也许我没有详细说明、但我已经说过、在您使用时 Uniflash 不起作用 -字节 . 对于 Uniflash 输入、请勿使用 -字节 或提供 .out 报头文件。
请查看上一篇文章中随附的 cmd 文件假设您是指链接器命令文件 c2838x.cmd。 要以深入的方式查看该文件、需要了解我没有的整个系统。
谢谢。此致、
-George.
[/quote]