March Madness - EEPROM Dump

Doing a lot of programming on any platform you tend to need to write some utilities here and there to test things or to help in debugging.

I am working on some other Arduino projects that use the EEPROM for storing settings. I found myself in a situation where I needed to see what was in the EEPROM so I wrote this little utility to dump the contents in hex and ASCII.

This is a dump of the EEPROM from my LCDSerial settings.

00	4C 43 44 73 65 72 69 61 6C 00 FF FF FF FF FF FF LCDserial.......
10	04 14 E0 04 00 01 00 4D 4A FF FF FF FF FF FF FF .......MJ.......
20	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
30	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
40	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
50	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
60	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
70	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
80	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
90	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
A0	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
B0	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
C0	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
D0	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
E0	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
F0	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
100	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
110	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
120	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
130	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
140	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
150	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
160	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
170	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
180	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
190	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
1A0	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
1B0	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
1C0	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
1D0	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
1E0	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
1F0	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................




#include	"HardwareSerial.h"
#include	"EEPROM.h"




//************************************************************************
static void	DumpEEPROM(void)
{
int		ii;
int		theValue;
char	textString[16];
char	asciiDump[24];

	asciiDump[0]	=	0;
	for (ii=0; ii<512; ii++)
	{
		if ((ii % 16) == 0)
		{
			if (ii > 0)
			{
				asciiDump[16]	=	0;
				Serial.print(asciiDump);
			}
			
			sprintf(textString, "\r\n%02X\t", ii);
			Serial.print(textString);
			asciiDump[0]	=	0;
		}
		theValue	=	EEPROM.read(ii);
		sprintf(textString, "%02X ", theValue);
		Serial.print(textString);
		if ((theValue >= 0x20) && (theValue < 0x7f))
		{
			asciiDump[ii % 16]	=	theValue;
		}
		else
		{
			asciiDump[ii % 16]	=	'.';
		}
	}
}



//************************************************************************
void setup()
{
	Serial.begin(9600);
	
	Serial.println("Dump EEPROM");
	
	DumpEEPROM();
}



//************************************************************************
void loop()
{
	//* do nothing
}