AnsweredAssumed Answered

Kinetis flash memory read failure

Question asked by MAURO ANSALONI on Dec 21, 2015
Latest reply on Jul 24, 2016 by Suraj KA

Hello everybody.

It's now some days that i'm trying to chase a problem consisting of individual bits that go from 0 to 1 with no apparent reason when a data structure is read from the flash memory byte by byte.

The microcontroller  is a Kinetis Mk10dx32 clocked at 20 mhz , the FlexNvm EEEprom is not activated for this project and the FLASH_LDD of PE is used to perform the flash operations.

The interested area is at the end of the program flash, at 0x7000 and the dimension is 0x400

 

Has somebody experienced cases where the reads from flash of an array of bytes works fine but sometimes some bits in Ram results unexpectedly set to 1?

The phenomenon is intermittent and not reproducible while debugging until now,

I have a couple of boards (out of ten) that show it frequently and at least one of them stops showing the problem if I cool down the chip.

The error is always a bit that goes from 0 to 1 and never the other way.

The bit that is read unexpectedly to 1 will be properly read as 0 many of the following times. 

 

Initially I thought it was a write or erase problem and did investigate about the flash endurance and all the possible erase/write problems, double checking the code against documentation and examples.

But after noticing that the bit change happens also when the read operation is performed alone (few seconds after the board power up the Flash is read but not written) I become convinced that is related to the read from flash operation.

 

Thanks for your opinion or link to interesting reading about this subject.

 

Best Regards, Mauro

Outcomes