Created Sun, 04 Dec 2011 20:50:04 +0000 by Jacob Christ
Sun, 04 Dec 2011 20:50:04 +0000
We are playing with the EEPROM libs that write to the end of flash on a chipKIT. A couple of things we noticed off the bat.
The read and write functions values are 32-bit and not 8-bit as they are on the Arduino platform. I'm wondering as to the thought process from the people that implement this lib as to the decision to use 32-bit values rather than 8-bit. I suspect that it was done as a matter of trying to get things up and running with limited resources. Also I would suggest that a goal be made to get the library to a more Arduino compatible state by using 8-bit values.
As noted else where, when a new sketch is loaded the contents of the eeprom are wiped. A curious side affect, the value at address zero when read on a Uno32 is 0x9D010000, which in the back of mind is a significant address in the Uno32 memory map.
EDIT: I know why 0x9D010000 looks familiar: The address of the user app from the bootloader is 0x9D001000. Which is not the same but very similar.
#define USER_APP_ADDR 0x9D001000
Jacob