At 06:33 AM 4/5/2005, Mike Harrison wrote:
>On Tue, 5 Apr 2005 12:16:27 +0100, you wrote:
>
> >
> >Hi,
> >
> >I remember problems with EEPROM address zero corruption with previous
> >AVRs - it looks like accidently writing to the atmega8 would be difficult.
> >Apart from loss of power during a write, is there any other problem to be
> >aware of with the newer chips?
>
>Atmel say the zero address issue is fixed, but I still occasionally
>hear that Atmel eeprom can be
>corrupted in some brownout situations if there is no brown-out reset provided.
This was never really a problem.
If you follow the data sheet, it was fine.
I wrote test software for this back when it was an issue, and tested
many 8515s, with ZERO problems.
1: It's up to YOU to assure that the machine will have enough power
to complete any write you start.
2: It's up to YOU to assure that there won't be a reset during a
write (external hardware)
3: It's up to YOU to assure code integrity, so that errant routines
don't accidentally call your "write to EE" routine.
Atmel was under a lot of pressure, and this was, from what I could
see at the time, mostly a problem with hobbyists and poorly designed systems.
That being said, I have to leave the EEAR pointing somewhere, so I
just leave it at 0 and don't use that position.
It could as easily been the top of EE, but remember the powerup
default is 00, so anything that went nuts before I initted it, would
write to 00 anyway.
One improvement would be to make address 00 non-functional, so that
you CANT rely on it, and it then acts like the landing zone on the
old hard drives, it's a safe place to have a crash.