print "Erasing info memory."
client.MSP430infoerase();
+if(sys.argv[1]=="selftest"):
+ entry=client.peek16(0xFFC0);
+ print "Calling self-test at 0x%04x." %entry;
+ client.MSP430setPC(entry);
+ #client.MSP430releasecpu();
+
+ import time;
+ time.sleep(30)
if(sys.argv[1]=="ivt"):
- client.MSP430dumpmem(0xFFE0,0xFFFF);
+ client.MSP430dumpmem(0xFFC0,0xFFFF);
+if(sys.argv[1]=="regs"):
+ for i in range(0,16):
+ print "r%i=%04x" % (i,client.MSP430getreg(i));
+
if(sys.argv[1]=="flash"):
f=sys.argv[2];
start=0;
#Should this be default?
#Makes flashing multiple images inconvenient.
- client.MSP430masserase();
+ #client.MSP430masserase();
count=0; #Bytes in commit.
first=0;
print "Poking %06x to become %04x." % (start,val);
while client.MSP430peek(start)&(~val)>0:
- client.MSP430pokeflashblock(start,[val&0xFF, (val>>8)&0xFF]);
+ client.MSP430pokeflash(start,val);
print "Poked to %04x" % client.MSP430peek(start);
if(sys.argv[1]=="serial"):
oid=0xdeadbeef;
if(len(sys.argv)>2):
oid=eval(sys.argv[2]);
else:
- oid=input("Serial Number?");
+ #Crashes Windows.
+ #simpchin=u=unichr(24207)+unichr(21015)+unichr(21495); #Chinese for "Serial Number".
+ #print simpchin;
+
+ oid=input(u"Serial Number? ");
adr=0xFFB0;
if(len(sys.argv)>2):
start=int(sys.argv[2],16);