Part Number:RM57L843
你好,针对诊断库API的原理机制,我还是有一些疑惑,经过这段时间,我的理解是它只是用来测试某个模块具不具备纠检错(ECC)的能力,而并不能在程序运行中去检测摸个模块(比如内存)是否出了错,请问是这样吗。 例如SL_SelfTest_CAN()这个API,它并不能够检测CAN的内存在程序运行中是否出了问题,只能通过模拟注入1位或2位错误来测试其还具不具备纠检错的能力对吧?
然后还有一个问题就是 如果的确是上述我所理解的机制,那他通过模拟测试产生的错误会不会触发nERROR引脚的电平变化呢
Cherry Zhou:
您好我们已收到您的问题并升级到英文论坛,如有答复将尽快回复您。谢谢!
,
Cherry Zhou:
您好,与 ECC 相关的 SelfTest API (例如 SL_SelfTest_CAN()) 是检查 ECC SECDED 机制是否正常工作,以及有没有将检测到的错误报告给 ESM (包括 nError 操作)。
CAN 消息 RAM 受 ECC (SECDED) 保护。 DCAN 消息 RAM 包含消息对象及其ECC 位。 ECC 位存储在专用 RAM 中,它们将在写入访问时生成,并在读取访问时被检查。 每当您读取包含 ECC 错误的消息时, ECC 逻辑会检测到 ECC 错误。 如果检测到一个单位错误,那么将会校正, 如果检测到双位错误,则错误标志被置位,并根据您的设置生成中断。
yuyang xie 说:并不能在程序运行中去检测摸个模块(比如内存)是否出了错,
只有在读取时才会检测到错误。
,
yuyang xie:
好滴明白了,谢谢~