您好!
您能否提供一个示例、说明如何在 RM57x 上捕获 ECC 闪存错误?
我必须使用 EPC 吗?
此致
Marcio。
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.
尊敬的 Marcio:
RM57L843微控制器通过专用的单纠错双纠错(SECDED)逻辑来保护对片上闪存和 SRAM 存储器的所有访问。 SECDED 逻辑实现使用 ECC 来校正单位错误 、并检测从闪存或 SRAM 读取的值中的多位错误。 复位后、CPU 内部的 SECDED 逻辑默认启用。
所以、 CPU 对无效 ECC 位置的任何读取将导致 ESM 标志被设定。

所以、我们只需要监视相应的 ESM 标志来找出 ECC 错误。
ESM 1.4 (1位 ECC 错误)或 ESM 2.3 (2位 ECC 错误)。
(+) TMS570LC4357:ESM 错误2.3、2.19、2.21和1.4、1.6 -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛
(+) TMS570LC4357 EPC 不可纠正的错误和推测取指令-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛
--
谢谢。此致、
Jagadish。
感谢您的答复。
我有点困惑、因为:
A/第一篇文章指出:"读取闪存或 RAM 时不可纠正的 ECC 错误将仅设置 ESM2.3。
b 第二个提到的文章说:"ESM 1.4和 ESM 2.21是 EPC 可校正的和不可校正的错误。"
C/和您的帖子显示: "ESM 1.4 (1位 ECC 错误)或 ESM 2.3 (2位 ECC 错误)。"
我构建了一个启用了 ESM 1.4的测试项目。 无需启用组2。 已在 LaunchPad 中刷入二进制文件但不含 ECC。 使用仿真器来运行代码。 而不是闪存 ECC 错误。 该项目已附加。 缺少什么?
e2e.ti.com/.../4150.DCC_5F00_TEST_5F00_RM57.ZIP
此致、
我找到此网页 7.1.链接器生成的 ECC - Hercules 安全 MCU 文档、该文档 指出 CCS 在将二进制文件下载到 MPU 时会自动添加 ECC。
当我说"我在没有 ECC 的情况下刷入了二进制文件"时、我没有意识到 CCS 启用了该选项。
我能够模拟写入程序边界之外位置的失败。 ESM 指示组2的通道3。
此致、
Marcio。