ZHCUCQ7A January 2025 – July 2025 F29H850TU , F29H859TU-Q1
设置使用用户提供的 ECC 数据进行 64 位(8 个字节)编程的闪存状态机寄存器,并向有效闪存、BANKMGMT 和 SECCFG 内存发出编程命令。
Fapi_StatusType Fapi_issueEccOnly64ProgrammingCommand(
uint32_t *pu32StartAddress,
uint8_t *pu8EccBuffer,
uint8_t u8EccBufferSizeInBytes,
uint32_t u32UserFlashConfig,
uint8_t u8Iterator
);
| pu32StartAddress [in] | 用于对提供的 ECC 数据进行编程的 512 位对齐闪存地址。 |
| pu8EccBuffer [in] | 指向 ECC 缓冲区地址的指针 |
| u8EccBufferSizeInBytes [in] | ECC 缓冲区中的字节数。最大 Eccbuffer 大小(以字节为单位)不应超过 16。 |
| u32UserFlashConfig | 用户闪存配置。 |
| u8Iterator | 用于对交错组执行编程和擦除操作的迭代器 0:数据闪存/非交错 1:B0 或 B2(取决于提供的地址) 2:B1 或 B3(取决于提供的地址) |
此函数仅在指定的地址处(可能为该函数提供闪存主阵列地址,而不是相应的 ECC 地址)对闪存 ECC 存储空间中的 ECC 部分进行编程。它可以在与用户提供的 512 位对齐闪存地址相对应的 ECC 地址处对 64 位 ECC 数据(第二个参数)进行编程。64 位 ECC 数据可以拆分为与 512 位对齐数据相关的 8 字节 ECC 数据(4 × 128,每 2 字节对应每 128 个数据)。
有关更多信息,请参阅 表 3-6。
| 512 位数据(4 * 128 位) | |||
|---|---|---|---|
| 1st(128 位数据) | 2nd(128 位数据) | 3rd(128 位数据) | 4th(128 位数据) |
| pu8EccBuffer[0] 的 LSB | pu8EccBuffer[1] 的 LSB | pu8EccBuffer[2] 的 LSB | pu8EccBuffer[3] 的 LSB |
| pu8EccBuffer[0] 的 MSB | pu8EccBuffer[1] 的 MSB | pu8EccBuffer[2] 的 MSB | pu8EccBuffer[3] 的 MSB |
有关该函数允许的编程范围,请参阅表 3-7。
| 闪存 API | 主阵列 | ECC | BANKMGMT 和 SECCFG |
|---|---|---|---|
| Fapi_issueEccOnly64Prog rammingCommand() | 不允许 | 允许 | 不允许 |
(有关更多信息,请参阅 F29H85x SDK 中提供的闪存编程示例“f29h85x-sdk > examples > driverlib > single_core > flash > flash_mode0_512_program”)