ZHCUBW5 April 2024
设置使用用户提供的闪存数据和 ECC 数据进行 512 位(32 个 16 位字)编程的闪存状态机寄存器,并向有效的闪存和 OTP 存储器发出编程命令。
Fapi_StatusType Fapi_issueDataAndEcc512ProgrammingCommand(
uint32 *pu32StartAddress,
uint16 *pu16DataBuffer,
uint16 u16DataBufferSizeInWords,
uint16 *pu16EccBuffer,
uint16 u16EccBufferSizeInBytes
)
pu32StartAddress [in] | 用于对提供的数据和 ECC 进行编程的 512 位对齐闪存地址 |
pu16DataBuffer [in] | 指向数据缓冲区地址的指针。数据缓冲区的地址应为 512 位对齐。 |
u16DataBufferSizeInWords [in] | 数据缓冲区中 16 位字的数量。最大数据缓冲区大小(以字为单位)不应超过 32。 |
pu16EccBuffer [in] | 指向 ECC 缓冲区地址的指针 |
u16EccBufferSizeInBytes [in] | ECC 缓冲区中的 8 位字节数。最大 Eccbuffer 大小(以字为单位)不应超过 8。 |
此函数在用户提供的 512 位对齐闪存地址处对用户提供的 512 位数据(第二个参数)和 8 字节的 ECC 数据(第四个参数)进行编程。所提供数据的地址必须在 512 位存储器边界上对齐,并且数据长度必须与提供的 ECC 相关联。这意味着,如果数据缓冲区长度为 32 个 16 位字,则 ECC 缓冲区必须为 8 个字节(1 个 ECC 字节对应于 64 位数据)。
pu16EccBuffer 的每个字节与 pu16DataBuffer 中提供的主阵列数据的每个 64 位相对应。
如需了解更多详情,请参阅表 3-6。
Fapi_calculateEcc() 函数可用于计算给定 64 位对齐地址和相应数据的 ECC
有关该函数允许的编程范围,请参阅表 3-4。
闪存 API | 主阵列 | DCSM OTP | ECC | 链路指针 |
---|---|---|---|---|
Fapi_issueDataAndEcc512ProgrammingCommand() | 允许 | 允许 | 允许 | 禁止 |
将在下一个 C2000ware 版本中发布此功能的示例实现。