3 #GoodFET SPI Flash Client
7 #Might be Winbond W25x80-specific.
13 from GoodFETEM260 import GoodFETEM260;
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=GoodFETEM260();
35 #Might read as all ones if chip has a startup delay.
36 client.EM260spiversion();
38 if(sys.argv[1]=="info"):
40 if(sys.argv[1]=="test"):
41 print "Grabbing info three times."
46 print "Some random numbers from EZSP."
47 for foo in range(0,4):
48 print "%04x" % client.rand16();
50 if(sys.argv[1]=="dump"):
55 start=int(sys.argv[3],16);
57 stop=int(sys.argv[4],16);
59 print "Dumping from %04x to %04x as %s." % (start,stop,f);
64 print "Dumped %04x=%02x."%(i,data);
69 if(sys.argv[1]=="peek"):
72 start=int(sys.argv[2],16);
75 stop=int(sys.argv[3],16);
76 print "Peeking from %04x to %04x." % (start,stop);
78 print "%04x: %02x" % (start,client.peek8(start));