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') img_file=file('image2.rom','w') memsize=2**9 for i in range(memsize): memstr='%05x\t%s\n' % (i,mem.read(i)) print memstr, img_file.write(memstr) img_file.close()