SPRUJ96A November 2023 – April 2024 TMS320F2800152-Q1 , TMS320F2800153-Q1 , TMS320F2800154-Q1 , TMS320F2800155 , TMS320F2800155-Q1 , TMS320F2800156-Q1 , TMS320F2800157 , TMS320F2800157-Q1
Sets up the flash state machine registers for the 64-bit (4 16-bit words) programming with user-provided ECC data and issues the programing command to valid Flash and OTP memory.
Fapi_StatusType
Fapi_issueEccOnly64ProgrammingCommand(
uint32 *pu32StartAddress,
uint16 *pu16EccBuffer,
uint16 u16EccBufferSizeInBytes
)
pu32StartAddress [in] | 512-bit aligned flash address to program the provided ECC data |
pu16EccBuffer [in] | Pointer to the ECC buffer address |
u16EccBufferSizeInBytes[in] | Number of 8-bit bytes in the ECC buffer. Max Eccbuffer size in words should not exceed 8. |
This function will only program the ECC portion in Flash ECC memory space at the address (Flash main array address should 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 pu16EccBuffer[0] | LSB of pu16EccBuffer[1] | LSB of pu16EccBuffer[2] | LSB of pu16EccBuffer[3] |
MSB of pu16EccBuffer[0] | MSB of pu16EccBuffer[1] | MSB of pu16EccBuffer[2] | MSB of pu16EccBuffer[3] |
For allowed programing range for the function, see Table 3-7.
Flash API | Main Array | DCSM OTP | ECC | Link Pointer |
---|---|---|---|---|
Fapi_issueEccOnly64ProgrammingCommand() | Not Allowed | Not Allowed | Allowed | Not Allowed |
Example implementation for this function will be released in next C2000ware release.