3 #GoodFET SPI Flash Client
7 #Might be Winbond W25x80-specific.
13 from GoodFETSPI import GoodFETSPI25C;
14 from intelhex import IntelHex;
17 print "Usage: %s verb [objects]\n" % sys.argv[0];
18 print "%s info" % sys.argv[0];
19 print "%s dump $foo.rom [0x$start 0x$stop]" % sys.argv[0];
20 #print "%s erase" % sys.argv[0];
21 #print "%s flash $foo.rom [0x$start 0x$stop]" % sys.argv[0];
22 #print "%s verify $foo.rom [0x$start 0x$stop]" % sys.argv[0];
23 print "%s peek 0x$start [0x$stop]" % sys.argv[0];
24 #print "%s poke 0x$adr 0x$val" % sys.argv[0];
27 #Initialize FET and set baud rate
28 client=GoodFETSPI25C();
35 #Might read as all ones if chip has a startup delay.
37 if(sys.argv[1]=="test"):
38 for adr in range(0,32): #*1024):
39 val=client.peek8(adr);
40 print "%04x:=%02x" % (adr,val);
41 if(sys.argv[1]=="dump"):
46 start=int(sys.argv[3],16);
48 stop=int(sys.argv[4],16);
50 print "Dumping from %04x to %04x as %s." % (start,stop,f);
55 print "Dumped %04x=%02x."%(i,data);
60 if(sys.argv[1]=="peek"):
63 start=int(sys.argv[2],16);
66 stop=int(sys.argv[3],16);
67 print "Peeking from %04x to %04x." % (start,stop);
69 print "%04x: %02x" % (start,client.peek8(start));