Are there tools to read and write EEPROM directly??

This isn't exactly a programming question I realize, but .... is there a method, piece of software, etc., that would allow one to read and alter the EEPROM of an Arduino through it's USB. This could be through the Arduino IDE of course, but not required for my purposes. While debugging a sketch it occasionally would be useful to be able to examine the EEPROM to verify correct data handling. I just completed a project for a friend in which there is default data stored in the EEPROM, and there might be a need/desire for him to change that in the future. Rather than having to alter the sketch and upload the entire program to alter a small number of EEPROM bytes, being able to alter the EEPROM directly would be more desirable (and safer for him). Thanks for any advice, counsel, etc.

Lyle

Not sure you will thank me but no there is no tool to do this other than a hardware programmer and avrdude a command line program. That can read EEPROM directly.

I will thank you. :slight_smile: I had a hunch that that it would need some method to configure the chip for direct access (a programmer) but I was hoping in the Arduino world somebody had a method to do this via software. I'm new to Arduinos, but have an understanding of microP's and microC's in general. The ones I've worked with needed direct access to the pins to alter their EEPROMs independently, but was hoping otherwise.

Thanks
Lyle

Alternativly is that the program is extended with a "maintenance mode" which enables viewing/changing EEPROM via Serial/USB commands

MSquare, for this particular project, that is an option I will probably proceed with. :slight_smile: However, I can anticipate times where being able to examine and alter EEPROM while debugging a sketch would be useful.

Lyle

Other than loading in a temporary program to read/write the EEPROM, your options are probably limited to getting an i2c eeprom or getting a microSD card store the values. With i2c, you can just move the wires to connect it to a different Arduino, and with a microSD card, you could remove the card and put it in a USB reader on your PC.

I tend to think the simplest approach is to have a pin connected to a dip-switch, and at boot time if the dip switch is set, dump out the EEPROM contents you are using to the serial monitor.

Grumpy_Mike:
Not sure you will thank me but no there is no tool to do this other than a hardware programmer and avrdude a command line program. That can read EEPROM directly.

Hardware programmer could be another Arduino connected via ICSP? I was intrigued to see the programming interface allows access to EEPROM but I haven't looked any further to see whether 'Arduino as ISP' supports EEPROM access.

haven't looked any further to see whether 'Arduino as ISP' supports EEPROM access.

It will