3 #GoodFET SPI Flash Client
22 from GoodFETEM260 import GoodFETEM260;
23 from intelhex import IntelHex;
26 print "Usage: %s verb [objects]\n" % sys.argv[0];
27 print "%s info" % sys.argv[0];
28 print "%s test" % sys.argv[0];
29 print "%s randtest" % sys.argv[0];
30 #print "%s dump $foo.rom [0x$start 0x$stop]" % sys.argv[0];
31 #print "%s erase" % sys.argv[0];
32 #print "%s flash $foo.rom [0x$start 0x$stop]" % sys.argv[0];
33 #print "%s verify $foo.rom [0x$start 0x$stop]" % sys.argv[0];
34 print "%s peek 0x$start [0x$stop]" % sys.argv[0];
35 print "%s poke 0x$adr 0x$val" % sys.argv[0];
38 #Initialize FET and set baud rate
39 client=GoodFETEM260();
46 #Might read as all ones if chip has a startup delay.
47 client.EM260spiversion();
49 if(sys.argv[1]=="info"):
51 if(sys.argv[1]=="test"):
52 print "Grabbing info three times."
57 print "Some random numbers from EZSP."
58 for foo in range(0,4):
59 print "%04x" % client.rand16();
60 if(sys.argv[1]=="randtest"):
61 print "Even Odd HEven LEven Hodd Lodd "
67 print "%8i %8i %8i %8i %8i %8i" % (
77 if(sys.argv[1]=="dump"):
82 start=int(sys.argv[3],16);
84 stop=int(sys.argv[4],16);
86 print "Dumping from %04x to %04x as %s." % (start,stop,f);
91 print "Dumped %04x=%02x."%(i,data);
96 if(sys.argv[1]=="peek"):
99 start=int(sys.argv[2],16);
102 stop=int(sys.argv[3],16);
103 print "Peeking from %04x to %04x." % (start,stop);
105 print "%04x: %02x" % (start,client.peek8(start));
107 if(sys.argv[1]=="poke"):
110 start=int(sys.argv[2],16);
113 val=int(sys.argv[3],16);
114 print "Poking %02x to be %02x." % (start,val);
115 client.poke8(start,val);