您好!
我们希望通过 破坏 TRM p. 675中描述的数据中的单个位来测试 ECC VIM RAM 机制
"应使用以下序列将故障注入数据位并测试 ECC 检查功能。
1、在保持 ECCENA 激活的同时、用所需的模式写入 VIM RAM 的数据位置。 。
ECC 位将与数据位一起自动初始化。
2.通过在 ECCCTRL 寄存器中设置 ECCENA=0来禁用 ECC。 在这种模式下、写入数据位不会
自动更新 ECC 位。
3.在这种模式下,可以使用以下任何方法来破坏数据位。
•读取数据位、翻转一位并写回
4.根据所创建的损坏类型,读回数据位并检查校正错误
(单位错误或双位错误或无错误)。
5、读取 UERRADDR 和 SBERRADDR 寄存器、并检查地址捕获是否正确"
当我们尝试此过程时、数据上的单个位错误不会被纠正、 SBER 位= 0'。
第一个问题:
在第3步和第4步之间、我们认为 TRM 中存在错误、必须激活 ECC_ENA 以验证 SBER 位是否 设置正确、错误为1位。 您可以确认吗?
第二个问题:
当我们激活 ECC_ENA 位寄存器(在步骤3和4之间)时、 会检测到单个位错误和双位错误(SBER 位= 1 且 UERR 位= 1)。
我们不明白为什么设置 UERR 位? 根据 TRM、当我们仅破坏数据中的1位时、它仅是单位错误机制、这一机制起作用、而不是同时起作用。 您可以确认吗?
第3个问题:
您是否有一个在 VIM RAM 区域中破坏1个数据位和2个数据位的测试示例?
此致、
François μ A