Hi
for some time we are noticing a serious problem where the system starts up and it reads the eeprom values after eeprom init.
( SysCtlPeripheralEnable(SYSCTL_PERIPH_EEPROM0);
EEPROMInit(); )
EEPROMRead((uint32_t *)&eepromStruct, 0 , sizeof(eepromStruct));
from time to time one or more of the values is 0 and not as saved a week or a year earlier. Very problematic !!
writing is not the problem if I am doing it right and it seems to be right.
EEPROMProgram((uint32_t *)&eepromStruct, 0, sizeof(eepromStruct));
should I use a different address instead of 0 ? as I read the first part of eeprom is vulnerable or sensitive? actually what addresses should/can I use?
I read this in a post by Robert Adsett (5 years ago)
"I have had experience with EE failures, particularly under power fail and high EMI conditions, where a failure due to a power off or interference could cause writes anywhere in the device. I have heard of devices that if interrupted during power down the failure would preferentially affect the first locations (some people reserve the first few locations for that reason) "
so maybe I should start writing on a higher address.
TIA
Maccabi