Hello ![]()
I have, or rather had a device from which I tried to dump the content of an EEPROM chip, using the JC_EEPROM library.
But I misidentified this chip, marked ATMLH818, I couldn't find a datasheet for this chip but searching suggested it was an old marking for the AT24C256. Only later, but too late, I searched with another marking on the chip, "02B", then I found the chip was a AT24C02B instead...
So when I tried to dump the content of the chip, I had chosen the wrong size, I used JC_EEPROM::kbits_256 instead of JC_EEPROM::kbits_2, and 64-bytes page size instead of 8-bytes.
When dumping the content it displayed only 0xFF's, I knew it couldn't be correct. After that, I turned the device on, and sadly it stopped working...
This stupid size mistake did something to the content of the chip, instead of recovering the content, it destroyed it and I'm mad about it
. After dumping with the correct settings, I saw that the first half of the content (128 bytes) was rewritten with value 0xF0.
Nothing can be done to undo this mistake. Next time I will double-check and not do any dump before I'm sure about the chip and the settings.
I just want to understand why this happened, why reading with wrong settings actually wrote garbage instead ?