ZHCUCQ7A January 2025 – July 2025 F29H850TU , F29H859TU-Q1
设置使用用户提供的闪存数据和 ECC 数据进行 512 位(64 个字节)编程的闪存状态机寄存器,并向有效的闪存存储器发出编程命令。
Fapi_StatusType Fapi_issueDataAndEcc512ProgrammingCommand(
uint32_t *pu32StartAddress,
uint8_t *pu8DataBuffer,
uint8_t u8DataBufferSizeInWords,
uint8_t *pu8EccBuffer,
uint8_t u8EccBufferSizeInBytes,
uint32_t u32UserFlashConfig,
uint8_t u8Iterator
)
| pu32StartAddress [in] | 用于对提供的数据和 ECC 进行编程的 1024 位对齐闪存地址 |
| pu8DataBuffer [in] | 指向数据缓冲区地址的指针。数据缓冲区的地址可按 1024 位对齐。 |
| u8DataBufferSizeInWords [in] | 数据缓冲区中的字节数。最大 Databuffer 大小(以字为单位)不能超过 64。 |
| pu8EccBuffer [in] | 指向 ECC 缓冲区地址的指针 |
| u8EccBufferSizeInBytes [in] | ECC 缓冲区中的字节数。最大 Eccbuffer 大小(以字为单位)不能超过 16。 |
| u32UserFlashConfig [in] | 用户闪存配置位域 |
| u8Iterator [in] | 用于对交错组执行编程和擦除操作的迭代器 0:数据闪存/非交错 1:B0 或 B2(取决于提供的地址) 2:B1 或 B3(取决于提供的地址) |
此函数在用户提供的 512 位对齐闪存地址处对用户提供的 512 位数据(第二个参数)和 8 字节的 ECC 数据(第四个参数)进行编程。所提供数据的地址必须在 512 位存储器边界上对齐,并且数据长度必须与提供的 ECC 相关联。这意味着,如果数据缓冲区长度为 64 个字节,则 ECC 缓冲区必须为 8 个字节(1 个 ECC 字节对应于 64 位数据)。
pu8EccBuffer 的每个字节与 pu8DataBuffer 中提供的主阵列数据的每个 64 位相对应。如需了解更多详情,请参阅表 3-6。
Fapi_calculateEcc() 函数可用于计算给定 64 位对齐地址和相应数据的 ECC。
有关该函数允许的编程范围,请参阅表 3-4。
| 闪存 API | 主阵列 | ECC | BANKMGMT 和 SECCFG |
|---|---|---|---|
| Fapi_issueDataAndEcc512ProgrammingCommand() | 允许 | 允许 | 不允许 |
(有关更多信息,请参阅 F29H85x SDK 中提供的闪存编程示例“f29h85x-sdk > examples > driverlib > single_core > flash > flash_mode0_512_program”)。