Hello,
I have programmed erase/write flash function according to SPNU501H and SPNA148. It is working properly – the memory is erased and re-programmed. After that I want to write a CRC value into the flash in the same way.
But – when I read the location (blue highlight), where the CRC value (let's say 0xF9A1) should be - there is 0xFFFF. It seems to be an ECC error but...
The interesting thing is, that when I read (in CCS memory browser) a different location (and only if I click enter to choose it, scrolling does not have this impact) and then I go back and read the right location - voila - CRC value is there. The same happens when I reset the CPU - the CRC value is there - even after ECC check is turn on during start-up.
Until the CRC value is properly read – write to CRC location gives OK_STATUS (If I am modifying the CRC value during these tries, after CRC value is read – there is the first value I tried to write).
After CRC can be read properly (caused by the way I am describing above) – write to CRC location gives ERROR – data is already present.
After erase and write operation is done, I flush the pipeline. I did not get the same error using only F021 app, on the other hand it might be another code change that cause this.
Do You have any idea what could cause this mysterious behavior? It seems the data is already at the place but the CPU is not able to read them... only if a reset occurs or a different location is read meanwhile in CCS memory browser.
Best regards,
Tomas