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.

TMS570LC4357: Flash Erase leaves some bits at 0 instead of 1

Part Number: TMS570LC4357

Hello,

After Flash erase (using F021 API or UniFalsh), some bits in the Flash are set to 0, instead of the usual value after erase (i.e. 1). Is there a particular reason behind this? Or I am missing something?

Regards,

Mehetab

  • Hello Mehetab,

    For TMS570LC43x, the ECC is enabled automatically and can not be disabled. When the flash is erased, the memory for flash ECC is also erased. The content of flash and flash ECC are 0xFF. When you read the flash content, SECDED (Single Error Correction Double Error Detection) detects the error and corrects the 1 bit error, so the flash content in memory window is not the same value as in the flash.
  • Additional note: don't leave any part of flash erased & not-programmed on operation state! Problem is jump prediction on CPU. It sometimes generate "random" request to read flash and when this position is read, it generate ECC error.