SPRUJE7A January 2025 – July 2025 F29H850TU , F29H859TU-Q1
Sets up the flash state machine registers for the 512-bit (64 bytes) programming with user provided flash data and ECC data and issues the programing command to valid Flash memory.
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] | 1024-bit aligned flash address to program the provided data and ECC. |
| pu8DataBuffer [in] | Pointer to the Data buffer address. Address of the Data buffer can be 1024-bit aligned. |
| u8DataBufferSizeInWords [in] | Number of bytes in the Data buffer. Max Databuffer size in words can not exceed 64. |
| pu8EccBuffer [in] | Pointer to the ECC buffer address |
| u8EccBufferSizeInBytes [in] | Number of bytes in the ECC buffer. Max Eccbuffer size in words can not exceed 16. |
| u32UserFlashConfig [in] | User flash configuration bitfield |
| u8Iterator [in] | 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 programs both the user provided 512-bit data (second parameter) and 8 bytes of ECC data (fourth parameter) together at the user provided 512-bit aligned flash address. The address of data provided must be aligned on a 512-bit memory boundary and the length of data must correlate to the supplied ECC. That means, if the data buffer length is 64 bytes, the ECC buffer must be 8 bytes (1 ECC bytes corresponding to 64-bit data).
Each byte of pu8EccBuffer corresponds to each 64-bit of the main array data provided in the pu8DataBuffer. For more details, see Table 3-6.
The Fapi_calculateEcc() function can be used to calculate ECC for a given 64-bit aligned address and the corresponding data.
For allowed programming range for the function, see Table 3-4.
| Flash API | Main Array | ECC | BANKMGMT and SECCFG |
|---|---|---|---|
| Fapi_issueDataAndEcc512ProgrammingCommand() | 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”).