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.

[参考译文] CCS/TMS320F28377D:TMS320F28377D 中存在奇怪的存储器问题

Guru**** 2602855 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/676186/ccs-tms320f28377d-strange-memory-issue-in-tms320f28377d

器件型号:TMS320F28377D

工具/软件:Code Composer Studio

你好。

我在 CCS 7.1.0中编译工程、并使用标准 C2000实用程序生成十六进制文件。

以下是十六进制文件的前两行:

%1263980008000048E6
%4E68C800082000C6080C0814081C083A0858087808A808B408D308E708F708070817083B084C08

然后、我转到调试模式、将同一项目加载到闪存中、并查看 Memory 浏览器。 我希望看到的字节与我在十六进制中看到的字节相同、但我看到的是(16位十六进制 TI 样式):

0x00080000   0048   B1E6   FFFF   FFFF   FFFF FFFF FFFF FFFF FFFF          FFFF
(笑声)
0x00082000   77C6   0008   780C   0008   7814   0008   781C   0008
0x00082008   783A   0008   7858   0008   7878   0008   78A8   0008
0x00082010   78B4   0008   78D3   0008   78E7   0008   78F7   0008
0x00082018   7907   0008   7917   0008   793B   0008   794C   0008

它看起来像十六进制文件中的数据字节(48 E6 C6 08 0C 08...) 与00 B1 77 00 78 00交错...

这些意外字节的来源是什么? 在进行闪存 API 编程/验证时如何考虑它们?

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

    我将查看此论坛帖子。

    e2e.ti.com/.../68158

    您可能会遇到类似的问题。

    此资源应提供有关闪存编程的更多信息: www.ti.com/.../sprabv4b.pdf

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

    您是否能够解决此问题?

    此致、
    Ozino
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    最后、在浏览完建议的帖子和许多其他帖子后、我发现了问题。

    十六进制实用程序设置出现问题。 romwidth 参数的内置默认值为8 (在更改值和比较结果十六进制文件之前、无法确定该默认值)。
    将 romwidth 更改为16 (memwidth 也为16)后、一切都正常。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很高兴听到您能够解决此问题。感谢您分享您的发现。

    此致、
    Ozino