主题中讨论的其他器件:UNIFLASH、
工具与软件:
大家好、
我们需要在以下 关于我们无法掌握的差异的体验方面获得一些帮助。
UniFlash 对生产设备进行编程。 但是、如果 IAR EWARM 从未刷写过 MCU、则使用的 UniFlash 编程。 十六进制文件将与片内 CRC 引擎计算的 CRC 不匹配。 如果我们使用 EWARM 至少刷写一次、那么使用 UniFlash、一切正常。
我们使用以下步骤来理解、但失败了:
- 使用 IAR EWARM 进行编译、发布模式、已将1MB 闪存 ROM 从0x0分配到0xFFFFF、具有未使用的字节 是什么 0xFF . 此操作同时输出了两个。 OUT 和。 十六进制文件。
- 同时保存两个。 OUT 和。 hex 文件复制到文件夹。
- 使用 EWARM "下载活动应用"到 MCU 闪存、由片内 TI TMS570LS3137 CRC 引擎计算得出的64位 CRC 0x861D XXXXXXXXXXXX 范围为0x0到0xFFFFF (1MB)、具有8字节寻址模式(CRC 引擎)。
- Re-刷新。 步骤1中使用 UniFlash v8.8.0 JTAG 十六进制文件、仍然是相同的 CRC 0x861D 观察到 XXXXXXXXXXXX。
- 使用 UniFlash 时、我们已对两种. OUT 和。 带有从闪存 ROM 读回的 MCU 存储器内容的十六进制映像文件、所有文件都匹配。
- 到目前为止、一切看起来都很完美!
- 使用 IAR EWARM 进行编译、发布模式、已将1MB 闪存 ROM 从0x0分配到0xFFFFF、具有未使用的字节 是什么 0x00 . 此操作同时输出了两个。 OUT 和。 十六进制文件。
- UniFlash:闪存。 hex 文件( 0x00 填充)至 MCU、CRC 0xF611 XXXXXXXXXXXX -此步骤仅替换为从0xFF 到0x00的所有内容。
- UniFlash:闪存。 hex 文件( 0xFF 填充)至 MCU、CRC 0x52EB XXXXXXXXXXXX !!! 我们不懂。
- 重复上述步骤1 (使用 0xFF 用作未使用字节的填充)
- EWARM "下载活动应用"至 MCU 闪存:CRC 0x861D 已观察到 XXXXXXXXXXXX、这是可重复的。
- UniFlash:闪存。 hex 文件( 0xFF 填充)至 MCU、CRC 0x861D XXXXXXXXXXXX–现在一切顺利!
是否有遗漏的 UniFlash 设置?
提前感谢。







