#MSP430F1xx
0xf16c: "MSP430F161x",
- 0xf149: "MSP430F13x", #or f14x(1)
- 0xf112: "MSP430F11x", #or f11x1
+ 0xf149: "MSP430F13x", #or f14x(1)
+ 0xf112: "MSP430F11x", #or f11x1
0xf143: "MSP430F14x",
- 0xf112: "MSP430F11x", #or F11x1A
- 0xf123: "MSP430F1xx", #or F123x
+ 0xf112: "MSP430F11x", #or F11x1A
+ 0xf123: "MSP430F1xx", #or F123x
0x1132: "MSP430F1122", #or F1132
0x1232: "MSP430F1222", #or F1232
0xf169: "MSP430F16x",
def MSP430masserase(self):
"""Erase MSP430 flash memory."""
self.writecmd(self.MSP430APP,0xE3,0,None);
-
+ def MSP430setPC(self, pc):
+ """Set the program counter."""
+ self.writecmd(self.MSP430APP,0xC2,2,[pc&0xFF,(pc>>8)&0xFF]);
+ def MSP430run(self):
+ """Reset the MSP430 to run on its own."""
+ self.writecmd(self.MSP430APP,0x21,0,None);
def MSP430dumpbsl(self):
self.MSP430dumpmem(0xC00,0xfff);
def MSP430dumpallmem(self):
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 poke 0x$adr 0x$val" % sys.argv[0];
+ print "%s peek 0x$start [0x$stop]" % sys.argv[0];
+ print "%s run" % sys.argv[0];
sys.exit();
#Initialize FET and set baud rate
print "Poked to %04x" % client.MSP430peek(start);
+if(sys.argv[1]=="run"):
+ #Set PC to RESET vector's value.
+ #client.MSP430setPC(client.MSP430peek(0xfffe));
+ #client.MSP430releasecpu();
+ client.MSP430run();
if(sys.argv[1]=="whatever"):
for i in [0x24FF, 0x2500, 0x2502, 0x2504]:
print "%04x" % client.MSP430peek(i);
-client.MSP430releasecpu();
-client.MSP430stop();
+#client.MSP430releasecpu();
+#client.MSP430stop();