工具与软件:
我遇到了与下面两个其他帖子完全相同的问题。 Re 支持此问题以提高 TI 和社区的知名度。
短版本:
F28388D。 在 CM 中、在经过各种运行时时间(几分钟到几小时)后、CM 将遇到 NMI 异常。 在检查 FlashECC 时、我看到了与其他两个柱相同的情况。 也就是说、不可纠正的闪存错误、其锁存错误地址指向 C1RAM 中的堆栈。 违规地址始终相同。

其他信息:
*代码在定制设计上运行(即非 TI 评估板)。
*闪存等待状态= 2.
*应用程序代码 仅在操作期间读取闪存。 (在代码执行期间不会进行闪存擦除或写入)。
* CM 时钟125 MHz
*可在3个不同的板上重复。 在发生异常之前、所有异常都需要大约10-150分钟或运行时间。
*在我的 git 提交历史记录中,我可以回滚一个提交,该版本运行9天以上没有问题。
*只有 no-problem-commit 和 problem-commit 之间的区别:

我尝试过的:
*将堆栈从512字节增加到2048字节。 仍然出现问题。
*将闪存等待状态从2更改为4。 这是成功的人在其他一个职位。 这对我来说并没有解决问题。
*查看2024年3月勘误表。 无相关条目。
为消除此问题、我采取了哪些措施:
将5个浮点值从堆栈中移出并置于普通变量存储器中。 提醒一下、没有证据表明这是堆栈溢出。 如上所述、将堆栈从512字节增加到2048字节并没有解决该问题。

总结:
我做了什么"修复"的问题似乎非常类似于其他两个帖子的"修复":一人从 C1RAM 移动堆栈到 C0RAM,一人插入了一个 NOP。 在我看来、所有这些修正都是"工作"、其时间不一而足、不足以解决地雷问题。 我不相信任何这些解决办法真正解决根本原因-这似乎是未知的。 正如您可以想象的那样、我们对此次修复并不是很满意、因为将来的代码更改似乎很可能会导致问题再次出现。
对于代码更改导致此问题的原因、我无法得出任何理论。
对 TI 来说:这里有一个真正的问题和模式。 请提供帮助。






