您好!
根据实验、对于 C2000器件、UNIFLASH 似乎只能解释具有 romwidth=16的十六进制文件(用于刷写和验证)。 是这样吗?
例如、对于0x20八位位组、地址字段是否只需增加0x10、而对于0x20八位位组、地址字段是否通常增加0x20?
谢谢你。
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.
UniFlash 程序加载程序应该能够处理不同的 romwidth 类型
[报价用户 id="479799" url="~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1224488/uniflash-c2000-hex-file-format-compatibility "]例如、对于0x20八位位组、地址字段是否只需增加0x10、而对于0x20八位位组、地址字段是否通常增加0x20?
上面的示例看起来是正确的行为。 这是 romwidth=16的情况吗?
谢谢
小标题
以上示例看起来像正确的行为。 这是 romwidth=16的情况吗?
是的、就是这样。 romwidth=16。 np++示例是 hex2000制作的一个文件、该文件的 romwidth=16。 如果我使用 UniFlash 上传同一个句段并导出、就会得到完全相同的文件。 因此、我推断 UniFlash 必须在内部使用 romwidth=16、至少默认情况下。
UniFlash 程序加载程序应能够处理不同的 romwidth 类型
我本来也会这么想的,但我看不出如何。 当然、我无法看到 UniFlash 如何仅从十六进制文件的内容推断出不同的 romwidth、并且我无法看到 romwidth GUI 设置。 因此、这就是我断言 UniFlash 期望 romwidth=16、并且无法正确地将十六进制文件刷写到具有不同 romwidth 十六进制文件的 C2000中。
Kier、
是的,没错。 romwidth=16。 np++示例是 hex2000制作的一个文件、该文件的 romwidth=16。 如果我使用 UniFlash 上传同一个句段并导出、就会得到完全相同的文件。 因此、我推断 UniFlash 必须在内部使用 romwidth=16、至少默认情况下是如此。
romwidth 在 UniFlash 的程序加载器/导出器中实际上并不是一个概念。 对于程序 加载、加载器仅解析十六进制文件中的地址和数据信息、并将其加载到器件中。 同样、对于导出、导出器会从器件中读取地址和存储器、然后将其写入文件。
从这个意义上讲、由于 C2000器件是16位可寻址的、因此从 UniFlash 导出的文件将与使用 romwidth=16生成/导出数据时从十六进制实用程序获取的文件相匹配。
我本来也想这么多,但我看不到怎么做。 当然、我无法看到 UniFlash 如何仅从十六进制文件的内容推断出不同的 romwidth、并且我无法看到 romwidth GUI 设置。 因此、这就是我断言 UniFlash 期望 romwidth=16、并且无法将十六进制文件正确刷写到具有不同 romwidth 十六进制文件的 C2000中。[/引号]我想你的推理大部分都是真实的。 UniFlash 可以加载以 romwidth=8输出的十六进制文件、但十六进制文件中的地址信息与原始器件存储器不匹配。 在示例中、以 romwidth=8的情况、每个记录的存储器地址将递增0x20、因此当程序加载器解析该文件时、器件将仅写入这些地址、其余0x10块未写入。
谢谢。