SPRUJE7A January 2025 – July 2025 F29H850TU , F29H859TU-Q1
Sets up the flash state machine registers for the 64-bit (8 bytes) programming with user provided ECC data and issues the programing command to valid Flash, BANKMGMT, and SECCFG memory.
Fapi_StatusType Fapi_issueEccOnly64ProgrammingCommand(
uint32_t *pu32StartAddress,
uint8_t *pu8EccBuffer,
uint8_t u8EccBufferSizeInBytes,
uint32_t u32UserFlashConfig,
uint8_t u8Iterator
);
| pu32StartAddress [in] | 512-bit aligned flash address to program the provided ECC data. |
| pu8EccBuffer [in] | Pointer to the ECC buffer address |
| u8EccBufferSizeInBytes [in] | Number of bytes in the ECC buffer. Max Eccbuffer size in bytes can not exceed 16. |
| u32UserFlashConfig | User Flash configuration. |
| u8Iterator | Iterator for program and
erase operations on interleaved banks. 0: Data Flash/non-interleaved 1: B0 or B2 (dependent on provided address) 2: B1 or B3 (dependent on provided address) |
This function only programs the ECC portion in Flash ECC memory space at the address (Flash main array address can be provided for this function and not the corresponding ECC address) specified. It can program 64-bit of ECC data (second parameter) at the ECC address corresponding to the user provided 512-bit aligned flash address. 64-bit ECC data can be split as 8 bytes ECC data correlated to 512-bit aligned data (4 × 128, each 2 bytes corresponding to each 128 data).
For more information, see Table 3-6.
| 512 Bits Data (4 * 128bits) | |||
|---|---|---|---|
| 1st 128-Bit Data | 2nd 128-Bit Data | 3rd 128-Bit Data | 4th 128-Bit Data |
| LSB of pu8EccBuffer[0] | LSB of pu8EccBuffer[1] | LSB of pu8EccBuffer[2] | LSB of pu8EccBuffer[3] |
| MSB of pu8EccBuffer[0] | MSB of pu8EccBuffer[1] | MSB of pu8EccBuffer[2] | MSB of pu8EccBuffer[3] |
For allowed programming range for the function, see Table 3-7.
| Flash API | Main Array | ECC | BANKMGMT and SECCFG |
|---|---|---|---|
| Fapi_issueEccOnly64Prog rammingCommand() | Not allowed | Allowed | Not allowed |
(For more information, see the flash programming example provided in the F29H85x SDK at “f29h85x-sdk > examples > driverlib > single_core > flash > flash_mode0_512_program”)