REPI is a C++ program that utilises the WiringPi (http://wiringpi.com) library to provide a way of programming an EEPROM using the Pi's GPIO pins and an I2C I/O Expander. The current version supports EEPROMs up to 64KB with a 16bit I/O Expander.
Below are the pins that are used by REPI (pin assignments are according to WiringPi):
EEPROM Select: 10
EEPROM Write: 11
EEPROM Read: 12
EEPROM Data: 0->7
I2C Clock: 9
I2C Data: 8
Connect the output pins of the I/O Expander to the address pins on the EEPROM and hook it al up to the 5v and 0v supply from the Pi.
To use the program, navigate to the relevant directory, open up a terminal window and type in "./repi <file_name> <i2c_address> <chip_delay> <verify>" where <file_name> is the input file, <i2c_address> is the I/O Expander's address, <chip_delay> is the EEPROM's write and read delay (in milliseconds) and <verify> is 1 if you want to verify the EEPROM's contents after programming. Please note that the input file must be in raw binary form (not .hex form, use my HexParser program to convert hex files to binary files).
Please note that REPI is in an experimental state and so it may not be fully functional so please test rigourously before using for a serious purpose.
Please see attachments for downloads
Changelog:
v0.2
- Added program verification
- Improved console messages
