主题:C2000WARE 中讨论的其他器件
工具/软件:
您好:
我目前正在使用 C2000 F28004x 器件上的闪存 API、并将Fapi_issueProgrammingCommand()在Fapi_DataAndEcc模式下使用函数对数据和 ECC 值进行编程。
我很困惑、在这种模式下、ECC 值是如何实际生成并写入闪存的。 我有几个问题:
-
使用时
Fapi_DataAndEcc、闪存 API 是否根据我提供的数据在内部生成 ECC 值、或者我是否负责手动计算和提供这些值? -
如果我将有效的 ECC 缓冲区传递给
Fapi_issueProgrammingCommand()函数、API 会将其直接写入 ECC 存储器、还是仍在内部重新计算 ECC? -
使用手动计算 ECC 的正确方法是什么
Fapi_calculateEcc()? 我是否应该使用与 64 位地址对齐的 64 位块? -
同时对数据和 ECC 进行编程时、是否对数据对齐、地址对齐或缓冲区大小有任何限制?
我注意到、在Fapi_AutoEcc模式中写入可以正常工作、但切换到时Fapi_DataAndEcc、除非非常小心地处理 ECC、否则验证或后续写入可能会失败。 我非常希望对预期行为和建议的使用模式进行澄清。
提前感谢!