主题中讨论的其他器件:NOWECC、 HALCOGEN
我正在尝试在设备上使用 ECC、并且遇到了一些问题。 我使用 HALCoGen 生成 ECC 代码、nowECC 注入错误。 当我注入一个双位错误时、所有操作都符合我的预期;一旦加载了包含该错误的64位块、它就会进入预取中止。 如果我仅注入一个位错误、似乎不会发生校正或异常。 此图显示了所发生的问题。 上部突出显示的部分在函数的开头显示了 PUSH 命令。 nowECC 修改了此行以在不应该推送 R5时将其推送。 在突出显示的下限区域中、您可以看到它不会弹出 R5、这会导致一些问题。 从显示的寄存器中、它看起来检测到不可纠正的 ECC 错误、但看起来它可能不是指闪存中的这个部分。
有人能解释为什么会发生这种情况吗?