summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
4b07845)
Only data has been tested.
git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@56
12e2690d-a6be-4b82-a7b7-
67c4a43b65c8
import binascii;
from GoodFET import GoodFET;
import binascii;
from GoodFET import GoodFET;
-from intelhex import IntelHex16bit;
+from intelhex import IntelHex;
if(len(sys.argv)==1):
print "Usage: %s verb [objects]\n" % sys.argv[0];
print "%s test" % sys.argv[0];
if(len(sys.argv)==1):
print "Usage: %s verb [objects]\n" % sys.argv[0];
print "%s test" % sys.argv[0];
- print "%s dump $foo.hex [0x$start 0x$stop]" % sys.argv[0];
+ print "%s dumpcode $foo.hex [0x$start 0x$stop]" % sys.argv[0];
print "%s erase" % sys.argv[0];
print "%s flash $foo.hex [0x$start 0x$stop]" % sys.argv[0];
print "%s verify $foo.hex [0x$start 0x$stop]" % sys.argv[0];
print "%s erase" % sys.argv[0];
print "%s flash $foo.hex [0x$start 0x$stop]" % sys.argv[0];
print "%s verify $foo.hex [0x$start 0x$stop]" % sys.argv[0];
if(sys.argv[1]=="test"):
client.CCtest();
if(sys.argv[1]=="test"):
client.CCtest();
-if(sys.argv[1]=="dump"):
+if(sys.argv[1]=="dumpcode"):
stop=0xFFFF;
if(len(sys.argv)>3):
start=int(sys.argv[3],16);
if(len(sys.argv)>4):
stop=int(sys.argv[4],16);
stop=0xFFFF;
if(len(sys.argv)>3):
start=int(sys.argv[3],16);
if(len(sys.argv)>4):
stop=int(sys.argv[4],16);
- print "Dumping from %04x to %04x as %s." % (start,stop,f);
- h = IntelHex16bit(None);
+ print "Dumping code from %04x to %04x as %s." % (start,stop,f);
+ h = IntelHex(None);
- h[i>>1]=client.MSP430peek(i);
+ h[i>>1]=client.CCpeekcodebyte(i);
if(i%0x100==0):
print "Dumped %04x."%i;
if(i%0x100==0):
print "Dumped %04x."%i;
+ i+=1;
+ h.write_hex_file(f);
+if(sys.argv[1]=="dumpdata"):
+ f = sys.argv[2];
+ start=0xE000;
+ stop=0xFFFF;
+ if(len(sys.argv)>3):
+ start=int(sys.argv[3],16);
+ if(len(sys.argv)>4):
+ stop=int(sys.argv[4],16);
+
+ print "Dumping data from %04x to %04x as %s." % (start,stop,f);
+ h = IntelHex(None);
+ i=start;
+ while i<stop:
+ h[i>>1]=client.CCpeekdatabyte(i);
+ if(i%0x100==0):
+ print "Dumped %04x."%i;
+ i+=1;
h.write_hex_file(f);
if(sys.argv[1]=="erase"):
print "Status: %s" % client.CCstatusstr();
h.write_hex_file(f);
if(sys.argv[1]=="erase"):
print "Status: %s" % client.CCstatusstr();
if(len(sys.argv)>4):
stop=int(sys.argv[4],16);
if(len(sys.argv)>4):
stop=int(sys.argv[4],16);
client.MSP430masserase();
for i in h._buf.keys():
client.MSP430masserase();
for i in h._buf.keys():
if(len(sys.argv)>4):
stop=int(sys.argv[4],16);
if(len(sys.argv)>4):
stop=int(sys.argv[4],16);
for i in h._buf.keys():
if(i>=start and i<stop and i&1==0):
peek=client.MSP430peek(i)
for i in h._buf.keys():
if(i>=start and i<stop and i&1==0):
peek=client.MSP430peek(i)
- cc_debug(1, 0xE4, 0, 0);
+ cc_debug(2, 0xE4, 0, 0);
//MOVC A, @A+DPTR;
toret=cc_debug(1, 0x93, 0, 0);
//INC DPTR
//MOVC A, @A+DPTR;
toret=cc_debug(1, 0x93, 0, 0);
//INC DPTR