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.
If I call:
uint32 result = Fapi_BlockErase(0x00200000, 16U); // as Fapi_BlockErase() function is defined in bl_flash.c from bootloader example
The erase succeeds, but not all of the values become 0xFFFFFFFF:
Question: Is this expected behavior?
FYI: I'm assuming the erase succeeds despite this, because my call to Fapi_BlockProgram()Fapi_BlockProgram() immediately after does succeed and writes the correct test values:
Thank you for your guidance!
Hi Joe,
It is expected behavior. When you erase the flash, the corresponding ECC space is also erased to 0xFFFFFFFF which is not a valid ECC value for flash content=0xFFFFFFFF. When CCS memory browser the flash content, the ECC logic will try to correct the 1-bit ECC error.
You can use linker cmd script to program the ECC for the whole flash.
https://software-dl.ti.com/hercules/hercules_docs/latest/hercules/How_to_Guides/index.html
Here is my example of linker cmd script: