TMS570LS3137: Flash Emulated EEPROM writing behavior after corruption test

Part Number: TMS570LS3137

Hello,

In a context of FEE memory corruption testing, I am trying to change some byte value saved in FEE and check that our application at startup thanks to a CRC mechanisms can correctly detect the corrpution when reading the data saved.

Our application init code is indeed detecting the corrupted data, but trying to write back correct values here I have some stranges behaviors. We correctly initilialized the FEE with TI_Fee_Init(), before all of this.

It seems that the data inside the FEE cannot be (or partially) physically written properly, even if the code shows that we go to a wrting sequence and use FlashAPI F021 Write function.

image.png

Nevertheless, after some restarts, corruption still being detected, the data are finally properly written.

I do not understand the behavior in between as you can see hereafter in the green zone :

FEE Blocks.dat image.png

Above in the red zone, are the initial data flashed with 2 manually corrupted with Code Composer studio (in blue), then in between (green zone) with severals restart attempt seems that the write does work only partially, finally the yellow zone, one startup sequence managed to write properly the data in FEE.

In addition, please find here attached the dump of the FEE from address 0xF0200000.

Is there is maybe interferences with the debuger for my test ? Or something else.

Thank you,

Regards,

Marc

  • Hi Marc,

    Can you please tell me the number of virtual sectors, number of blocks, and size of each block? You know that at least 2 virtual sectors should be used. The size of one virtual sector should be > total size of all the data blocks (plus header).