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.

[参考译文] TMS320F280049C:FLASH_API 指南中的 ECC 计算算法问题

Guru**** 2445440 points
Other Parts Discussed in Thread: C2000WARE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1527842/tms320f280049c-the-question-of-ecc-calculation-algorithm-in-flash_api-guide

器件型号:TMS320F280049C
主题:C2000WARE 中讨论的其他器件

工具/软件:

您好:

我目前正在使用 C2000 F28004x 器件上的闪存 API、并将Fapi_issueProgrammingCommand()Fapi_DataAndEcc模式下使用函数对数据和 ECC 值进行编程。

我很困惑、在这种模式下、ECC 值是如何实际生成并写入闪存的。 我有几个问题:

  1. 使用时Fapi_DataAndEcc、闪存 API 是否根据我提供的数据在内部生成 ECC 值、或者我是否负责手动计算和提供这些值?

  2. 如果我将有效的 ECC 缓冲区传递给Fapi_issueProgrammingCommand()函数、API 会将其直接写入 ECC 存储器、还是仍在内部重新计算 ECC?

  3. 使用手动计算 ECC 的正确方法是什么Fapi_calculateEcc()? 我是否应该使用与 64 位地址对齐的 64 位块?

  4. 同时对数据和 ECC 进行编程时、是否对数据对齐、地址对齐或缓冲区大小有任何限制?

我注意到、在Fapi_AutoEcc模式中写入可以正常工作、但切换到时Fapi_DataAndEcc、除非非常小心地处理 ECC、否则验证或后续写入可能会失败。 我非常希望对预期行为和建议的使用模式进行澄清。

提前感谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    使用时Fapi_DataAndEcc、Flash API 是否会根据我提供的数据在内部生成 ECC 值、还是由我负责手动计算和提供 ECC 值?

    该模式将在指定地址 Fapi_calculateEcc () 函数处对闪存中提供的数据和 ECC 进行编程、可用于计算给定 64 位对齐地址和相应数据的 ECC。

    如果我Fapi_issueProgrammingCommand()将有效的 ECC 缓冲区传递给函数、API 会将其直接写入 ECC 存储器、还是仍在内部重新计算 ECC?

    API 会将提供的 ECC 数据编程到 ECC 存储器范围内。

    使用手动计算 ECC 的正确方法Fapi_calculateEcc()是什么? 我是否应该使用与 64 位地址对齐的 64 位数据块?
    在同时对数据和 ECC 进行编程时、对数据对齐、地址对齐或缓冲区大小是否有任何限制?

    提供的数据必须在 64 位存储器边界上对齐、并且数据长度必须与提供的 ECC 相关联。 这意味着、如果数据缓冲区长度为 4 个 16 位字、则 ECC 缓冲区必须为 1 字节。 如果数据缓冲区长度为 8 个 16 位字、则 ECC 缓冲区的长度必须为 2 字节。 如果起始地址进行了 128 位对齐、则应根据需要同时对 8 个或 4 个 16 位字进行编程。 如果起始地址进行了 64 位对齐而不是 128 位对齐、则应同时对 4 个 16 位字进行编程。 pu16EccBuffer 的 LSB 与主阵列的低 64 位相对应、pu16EccBuffer 的 MSB 与主阵列的高 64 位相对应。 Fapi_calculateEcc () 函数可用于计算给定 64 位对齐地址和相应数据的 ECC。

    请参阅 C2000ware 中 F28002x 器件的闪存 API 示例。  此示例演示了“DataAndEcc"模式“模式 编程。

    此致、

    Rajeshwary