您好!
我们将面临 DSP 的罕见重新启动。
经研究后、它与地址0x701F8上发生闪存不可纠正错误时的 NMI 相关。
此地址位于 OTP 存储器区域、TI 添加了一些错误以能够测试 ECC。
在我们的应用中、我们不会运行会导致 NMI 的测试。 在.map 文件中、也没有该地址。
我不明白为什么要在0x701F8 OTP 地址上执行该 ECC 测试。
您能帮助我们了解这种异常行为以及如何解决它吗?
提前感谢您。
此致、
萨米
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.
您好!
我们将面临 DSP 的罕见重新启动。
经研究后、它与地址0x701F8上发生闪存不可纠正错误时的 NMI 相关。
此地址位于 OTP 存储器区域、TI 添加了一些错误以能够测试 ECC。
在我们的应用中、我们不会运行会导致 NMI 的测试。 在.map 文件中、也没有该地址。
我不明白为什么要在0x701F8 OTP 地址上执行该 ECC 测试。
您能帮助我们了解这种异常行为以及如何解决它吗?
提前感谢您。
此致、
萨米
Sami
您好、Hareesh。
感谢您的反馈。
我以前已经检查过这个帖子。
在我们的应用程序中、我们不检查 MCU 闪存和 OTP 区域。
应用程序在启动后运行正常、有时 CPU 会在几秒钟后重新启动。
我们在大小固定的 RAM 存储器缓冲区上使用 VCU CRC 进行定制串行通信。
崩溃很少发生、但我们能够捕获 NMI 中断。基于堆栈、CRC 计算在此之前正在进行。
您知道 ECC 是否自动检查 OTP 区域? 如果否、如何执行此检查?
此致、
萨米
Samy、
总结为:
-应用程序运行良好一段时间
-在极少数情况下,会发生 NMI 并将 CPU 复位。 在此期间、正在进行 VCU CRC 计算。
几个问题
-每次 NMI 发生时,是否计算 VCU CRC ?
- VCU CRC 计算发生一次还是多次? 它是在 ISR 中还是在后台发生?
-使用什么数据计算 VCU CRC ? RAM?
-如果你不做这个 VCU CRC 计算,这个问题会发生吗?
谢谢。
Sira
额外信息点-我查看了此器件的芯片勘误表、发现了与 VCU 和中断相关的内容。 不过、这似乎与您的问题无关。
尊敬的所有人:
我们确定了触发 NMI 的 TI-OTP 上 ECC 闪存不可纠正错误的根本原因。
这是 FW 低级别驱动器中的一个错误、我们有一个指针表(只读操作)、其中索引有时会超出范围。