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.

CCS/TMS570LC4357: Flash Memory Erase / Write Questions

Part Number: TMS570LC4357

Tool/software: Code Composer Studio

I am using CCS in order to Debug my Flash driver code for TMS570LC43xx. I am currently developing this Flash driver and I am facing some issues.

My problem is exactly the same as the one described in this other thread of this community: e2e.ti.com/.../1788528

I have a question about the flash memory erase / write functionality with the TMS570LC43xx. I noticed that when a block erase is performed on a bank of flash memory the erase value is not 0xFFFFFFFF for all addresses erased as it should be. Please see the below screen shot.

As it can be seen, the already erased data apperas to have errors and is not completely 0xFFFFFFFF. When I perform the Blank Check it fails due to this!

I have tried to disable the optimization of the compiler from the Release tab of building options as described in the solution. But the problem is still persisiting.

Any idea of how to solve this?

Ferran Casanovas.

  • Hello Ferran,

    The value in flash should be 0xFFFFFFFF after it is erased. When the flash is erased, the the ECC area is also erased (0xFF). When CPU reads the data (64 bits, 0xFFFFFFFFFFFFFFFF) from flash, the ECC error is detected, the correction will be applied to value (in CCS memory browser, or in your variable) you read out from the flash. This is why the value in memory browser is not 0xFFFFFFFF.
  • Hi Wang,

    I understand. Then how should I use the function Fapi_doBlankCheck??? Because right now is detecting the changed numberrs on the memory broswer and not the 0xFFFFFF that shoudl be there.

    Kind regards,

    Ferran Casanovas.

  • Hi Ferran,

    You can use JTAG DAP to read the memory to check if the value is 0xFFFFFFFF.