when i download the EEPROM memory using AVRDude, i get no errors.
looking at the file with a hexdump utility, i see
0000-0010: 3a 32 30 30-30 30 30 30-30 33 37 33-35 33 37 33 :2000000 03735373
0000-0020: 33 33 34 33-33 33 32 33-33 33 34 33-32 34 32 33 33433323 33432423
0000-0030: 30 30 30 46-46 46 46 46-46 46 46 46-46 46 46 46 000FFFFF FFFFFFFF
0000-0040: 46 46 46 46-46 46 46 46-46 46 46 46-46 46 46 46 FFFFFFFF FFFFFFFF
which has only 12 of the bytes i wrote to EEPROM
hex 37 35 37 33 34 33 32 33 34 32 42 30
ascii 7 5 7 3 4 3 2 3 4 2 B 0
i wrote 20 bytes 757343238393515142B0
so the download doesn't have 8 bytes in the middle.
the bytes missing start at position 7 and are the 8 bytes 83935151
so the download has the first 7 bytes of what i wrote
plus the last 4, but lacks bytes 8 thru 15
any idea how avrdude's download would disagree with what the arduino sketch can READ??
i used
avrdude -p m2560 -c wiring -P [port] -U eeprom:r:file.hex:i
Rather than dumping the file.hex file (a text file) in hex, just print out the file.hex file. The hex dump of the text file only shows 27.5 bytes of the 32 data bytes in the first line of hex.
That is strange. It looks like the data is not reading out properly. My best guess is that some avrdude configuration setting, like EEPROM page size, may be misconfigured.
Hey thanks for that: page size in conf file for ATmega2560 was 8.
I am now using 256, which is the same as the page size for Flash uploads for the ATmega2560
still a bit of a mystery - i guess not many developers using downloading eeprom.
this can be done by copying the entire ATmega2560 section from the global avrdude configuration file to " /User/username/.avrduderc" and making the above edits