I don't have the code with me to post just now, but I'm working on a system with an Arudino Uno, which uses EEPROM to store some data. I'm using ArduinoUnit to code it up using Test Driven Design techniques. While doing this, I've run across what appears to be an EEPROM bug: I create some data structures in RAM, and as soon as an EEPROM.read() or EEPROM.write() call occurs, subsequent tests on those data structures fail. I can move the EEPROM calls around in the test list, and tests reliably start failing as soon as EEPROM is accessed.
I can post code and exact version numbers of everything when I get home again, but in the mean time, does any one know whether the EEPROM code depends solely on Arduino IDE code, or if it requires system code? I'm running the IDE on Ubuntu, and didn't see problems like this the last time I used the IDE, with version 0022. Obviously both Ubuntu and the IDE have changed a lot since those days.
I ask because I traced back through the EEPROM code, and it links to to /usr/lib/avr libraries, which I suspect are maintained by Ubuntu as opposed to by Arduino.
I need to do more testing before I can categorically state that this is an Arduino bug (as opposed to a flaw in my board, or a flaw in Ubuntu), but I figured I'd ask and see if anyone can help me out in the mean time. Thoughts?