import serial class memchip: def __init__(self,port=0): self.ser=serial.Serial(port) def read(self,address): """Reads data from the specified address of the ROM/RAM address is int""" str='%05x' % address hi2='%c' % int(str[0:1],16) hi='%c' % int(str[1:3],16) lo='%c' % int(str[3:5],16) self.ser.write(lo) self.ser.write(hi) self.ser.write(hi2) self.ser.write('\xff') return '%02x' % ord(self.ser.read()) def write(self,address,data): """Writes data to the attached NVRAM chip address is int, data is char""" str='%05x' % address hi2='%c' % int(str[0:1],16) hi='%c' % int(str[1:3],16) lo='%c' % int(str[3:5],16) self.ser.write(lo) self.ser.write(hi) self.ser.write(hi2) self.ser.write('\x00') self.ser.write(data) return 1 mem=memchip('/dev/ttyUSB0') file_name=raw_input('input filename: ') fr=file(file_name,'r') l=fr.readline() while l: addr=int(l[0:5],16) data='%c' % int(l[6:8],16) mem.write(addr,data) l=fr.readline()