Other Parts Discussed in Thread: MSPM0G3507
主题中讨论的其他器件:MSPM0G3507
尊敬的 Champ:
对于当前十六进制格式、地址类型为0x02 -扩展段地址记录、客户 请求为0x04 -扩展线性地址记录。
您能否建议使用该解决方案来生成地址类型为0x04的十六进制文件 ?
谢谢!
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.
Other Parts Discussed in Thread: MSPM0G3507
尊敬的 Champ:
您能否建议使用该解决方案来生成地址类型为0x04的十六进制文件 ?
谢谢!
user4752306 说:对于当前十六进制格式,地址类型为0x02--扩展段地址记录
假设您使用命令创建十六进制文件、 tiarmobjcopy 。 是这样吗?
user4752306 说:客户 请求是0x04--扩展线性地址记录
唯一方法是使用十六进制实用程序 十六进制 而不是 tiarmobjcopy 。 运行命令的外观类似于...
tiarmhex --intel --romwidth=32 -o output_file.hex input_file.out
我不明白为什么类型为0x02的记录会出现问题。 如果您有任何解释、我将不胜感激。
谢谢。此致、
-乔治
George
为什么 类型0x02是一个问题的原因是, 用于读取 Hex 文件的第三方工具协议是基于0x04类型。 无法 基于0x02类型支持十六进制。 客户上一代 MCU 也支持0x04类型。
现在,当 使用到 TI MCU 满足这个0x02类型的问题.
已用客户 tiarmhex、CCS 中的命令如下所示:

Customer try below 命令,您可以参考 CCS 配置,如下所示。
tiarmhex --intel --romwidth=32 -o output_file.hex input_file.out

生成十六进制不起作用、因为 romwidth = 32改变了数据顺序。
客户要求 基于0x04 -在" memwidth=8 --romwidth=8 " 条件下扩展线性地址记录生成十六进制。
请提供解决方案。
客户要求是 根据0x04生成十六进制值--在"memwidth=8 --romwidth=8 " 条件下扩展线性地址记录。
设置 --memwidth=8 --romwidth=8 --英特尔 将根据需要工作。
用于读取 Hex 文件的第三方工具协议基于0x04类型。 无法 基于0x02类型支持十六进制文件[/引号]然后、应修复该第三方工具以处理0x02类型。 但我怀疑这在短期内不是一个切实可行的选择。
谢谢。此致、
-乔治
用于" 设置 -- memwidth=8 -- romwidth=8 - Intel 将按要求运行"。
我不明白你的意思," --memwidth=8 --romwidth=8 --英特尔 " 命令行、您为什么说会按要求工作? 您以前是否尝试过此命令、可以得到 0x02类型的十六进制?
实际测试结果为: 使用" --memwidth=8 --romwidth=8 --英特尔 " 命令行中、生成的十六进制 基于0x02类型、而客户需要的十六进制格式为0x04类型。
George
已确认使用命令生成十六进制文件:tiarmhex --intel --romwidth=8 --memwidth=8 -o output_file.hex input_file.out,可以生成0x04类型
记录。
但此十六进制仍然无法满足客户的要求,因为十六进制文件 第一行 不包括 0x04 --扩展线性地址信息。
根据第三方的要求,第一行需要 带有0x04 -- 扩展线性地址信息。
对于 MSPM0G3507情况,第一行应为 :020000040000FA。
您能帮助提供解决方案吗?
tiarmhex 支持的 Intel hex 格式的详细信息、请参阅 tiarmclang 在线文档的 Intel MCS-7886目标格式部分。 当文件中下一个条目的地址的高16位为0时、不会发出记录类型04条目。 因此、如果第一个条目的地址高16位 为0、则文件开头不会出现记录类型04条目。 遗憾的是、没有方法可以更改此行为。
谢谢。此致、
-乔治