S32K144之SRAM ECC错误浅谈

时间:2024-04-07 18:48:23

S32K144之SRAM ECC错误浅谈

之前的一片文章摘录了嵌入式MCU存储器ECC工作原理,大家可以简单了解下。

SRAM ECC错误

S32K144 ECC一般是单比特纠错,多比特检错。对于SRAM的ECC错误,大多数是没有进行SRAM的初始化操作造成的,上电之后不进行初始化,RAM中的数据都是随机的,第一次读取任何地址都将会产生不可纠正的ECC错误(non-correctable ECC error)。这一点,也在AN12522 S32K1XX ECC Error Handling手册中有明确讲到。
S32K144之SRAM ECC错误浅谈
如何初始化 RAM ECC:如果使用的 MCU 其 RAM 带有 ECC 功能,必须在使用前对其进行初始化,其过程就是往 RAM 中写出初始化数据已产生确定的 ECC 结果,一般是将之前的 CPU 寄存器值循环写入整个RAM 空间,当然,对其赋值零也是可以的。
关于ECC的报错,具体可以在ERM错误检测模块中进行设置和错误读取。
ERM Configuration Register 0 (CR0)
S32K144之SRAM ECC错误浅谈
关于错误类型读取,可以查看
ERM Status Register 0 (SR0)
S32K144之SRAM ECC错误浅谈
下面是没有进行SRAM初始化,ECC之后的寄存器读取截图:
S32K144之SRAM ECC错误浅谈