c2d70f193893f5ec02f24316bd4ef4ec0d4911b6
[goodfet] / client / goodfet.msp430
1 #!/usr/bin/env python
2
3 import sys;
4 import binascii;
5
6 from GoodFET import GoodFET;
7 from intelhex import IntelHex16bit;
8
9
10 client=GoodFET();
11 client.serInit("/dev/ttyUSB0")
12
13 if(len(sys.argv)==1):
14     print "Usage: %s verb [objects]\n" % sys.argv[0];
15     print "%s test" % sys.argv[0];
16     print "%s dump $foo.hex [0x$start 0x$stop]" % sys.argv[0];
17     sys.exit();
18
19 #Connect to target
20 client.MSP430setup();
21 client.MSP430start();
22
23 if(sys.argv[1]=="test"):
24     client.MSP430test();
25 if(sys.argv[1]=="dump"):
26     f = sys.argv[2];
27     start=0x0200;
28     stop=0xFFFF;
29     if(len(sys.argv)>3):
30         start=int(sys.argv[3],16);
31     if(len(sys.argv)>4):
32         stop=int(sys.argv[4],16);
33     
34     print "Dumping from %04x to %04x as %s." % (start,stop,f);
35     h = IntelHex16bit(None);
36     i=start;
37     while i<stop:
38         #print "%04x %04x" % (i, client.MSP430peek(i));
39         h[i>>1]=client.MSP430peek(i);
40         if(i%0x100==0):
41             print "Dumped %04x."%i;
42         i+=2;
43     #h.dump();#(tofile=f);
44     h.write_hex_file(f);
45 client.MSP430stop();