This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello TI engineer:
The bootloader uses the F021 flash library to program or erase the flash.
When I finished erasing a flash location, we don't see all locations have 0xFF's, some other bits in the erase flash locations are zeros.
I understand that it could be due to the flash ECC issue but not sure which function to call for enabling ECC or autogenerate ECC when erasing flash using the F021 library.
In bootloader program, I used API Fapi_issueAsyncCommandWithAddress(,FlashStartAddress) to earse the flash, and API Fapi_issueProgrammingCommand(, , ,NULL,0u,Fapi_AutoEccGeneration) to program the flash.
I don't program all the sector of flash, but I CRC check the entire flash. So when the address can be programmed, the value isn't 0xff. And CRC check found fault.
Please let me know if how can I solve the problem.
The Sector erase or bank erase don't calculate and program the ECC.
For the TMS570LC4357 and RM57L843 devices, ECC protection of Flash and SRAM memories is always enabled. This differs from Hercules devices in the TMS570LS and RM4 series where ECC is disabled after reset and remains disabled until enabled by software.
One solution is to use the Linker CMD file to generate ECC. Please see my note regarding the generating ECC using Linker CMD file: