This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我有一个项目、在该项目中、我将下载数据并通过 CAN 更新固件。 我将在整个闪存过程中使用闪存 API。 在写入 KEY (0x5A5A5A5A)和 REV 之前、在下载结束时检查 CRC。 CRC 测试通过、但在写入 KEY 和 REV 时失败。 我查看了寄存器并注意到 INVDAT 位已设置。
此外:
感谢您的任何提示。
Jonas
你好 Jonas、
INVDAT 指示您正在尝试通过程序命令进行0 -> 1转换。 这是不可能的。 0 -> 1转换需要擦除命令。
请检查您是否正在尝试对已编程的位置进行编程-我看到您提到的是0xFFFF。 但是、您可能已经为该位置对 ECC 进行了编程、同时对该64位段中的其他位进行了编程(对齐)。
谢谢、此致、
Vamsi
您好、Vamsi、
好的、所以协议 被建立、这样、如果它们接收到的数据为0xFFFF、它们就不会写入闪存。 阅读此内容后、我仔细检查并注意到 其中一个协议中有一个小错误。 它实际上向闪存写入了0xFFFF、因此 ECC 被编程到该位置。
感谢您的帮助!
你好 Jonas、
当您使用 Fapi_AutoEccGeneration 模式对给定64位对齐存储器段中的任何位进行编程时、ECC 将针对整个64位段进行编程、因为每64位(对齐)计算一个8位 ECC。
谢谢、此致、
Vamsi