Hello,
Can I ask your advice about the failure cause of my customer returned board ?
Q1. Can I ask your advice about the failure cause ?
Q2. Do you know if you know concerns about the EEPROMInit() ? --(*2)
Phenomenon:
On uC power-on, the PRETRY bit in the EESUPP reg read one.
To clear the bit, they called
SysCtlPeripheralReset(SYSCTL_PERIPH_EEPROM0) --- (*1)
in the Stellaris Peripheral Driver Library(revision 8555)
eight times, but failed. The bit read one, again.
Remarks:
None of corruption found in the EEPROM read values.
As a trial the same firmware was executed as CCS debug run.
It was tried over 20 times. In the case they found two results:
- (Found just one time N=1): The PRETRY bit read was ONE. The phenomenon was reproduced.
- (Other trials): The PRETRY bit read was zero. The phenomenon was not reproduced
This phenomenon was found first time. They have shipped over 200k good sets.
(*1)
Actually, the routine is an arranged version of EEPROMInit().
They added time-outs to infinite loops.
The START bit in the EESUPP register is not used in the arranged EEPROMInit().
They are aware of MEM#02 errata.
Chip revision = B2. (DID0 reg read =0x18050102, DID1 reg read =0x1070602E)
For the failure cause, I think:
- There would be more cases which EEPROMInit() doesn't work. I'm sorry but can I ask your advice ? --(*2)
- EEPROMInit() arrange was not good.
- VDD voltage drop (as explained in DS p.527). I'm asking to observe VDD by an oscilloscope.
- EEPROM wore out (as explained in DS p.527) -- Low possibilities. The device was returned very shortly after ship.