你好
我正在对 MPC5777M 的 ECC 处理进行一些测试。
假设我首先写入以下 64 位数据:0xDEADBEEF_FFFFFFFF
如果我在未擦除的情况下用以下数据覆盖 64 位数据扇区:0xDEADBEEF_FFFFFFFFE(只差 1 位),就会出现多位 ECC 错误(无法恢复)。
这是因为 ECC 校验位也会被覆盖吗?如果是这样,这是否与闪存一样(位只能从逻辑 1 到逻辑 0)?
根据我的计算,首次写入数据时的 ECC 校验位为 0x5C,而覆盖数据时的校验位为 0x9D。
你好
好吧,我们可以根据与之相关的客户和业务的要求版本此类信息。
例如,如果博世或康迪提出要求,我们的 FAE 可以决定是否共享。
如果某个不知名的社区账户提出申请,我们肯定不会这样做。
因此,如果您需要此类信息,请联系恩智浦 FAE 或销售人员。
顺祝商祺!
Peter
你好,感谢您的回答。
"典型的 " 到底是什么意思?是你永远不会以任何方式向客户版本算法细节,还是有可能获得一些细节,例如通过签署保密协议?
谢谢!
你好
我曾在应用程序团队中询问过这个问题,通常我们不会向客户版本算法的详细信息。
致以最诚挚的问候,
Peter
你好
这是因为 ECC 校验位也会被覆盖吗?
是
如果是这样,这是否与闪存一样(位只能从逻辑 1 到逻辑 0)?
是
根据我的计算,首次写入数据时的 ECC 校验位为 0x5C,而覆盖数据时的校验位为 0x9D。
很难在这里发表评论。但如果要在闪存中创建 ECC 故障,就必须这样做。
如果想避免这种情况,请先擦除闪存,然后再编程。
致以最诚挚的问候,
Peter
你好,我也在尝试更好地理解 ECC,并想在特定地址注入 ECC,以检查我的代码是否能正确处理它。
如果我没理解错的话,在特定地址写入两次 64 位数据就能获得 ECC。
您能分享一下在特定地址写入 64 位的方法吗?