hi=ord(self.data[0]);
lo=ord(self.data[1]);
return (hi<<8)+lo;
+ def CCcmd(self,phrase):
+ self.writecmd(0x30,0x00,len(phrase),phrase);
+ val=ord(self.data[0]);
+ print "Got %02x" % val;
+ return val;
def CCdebuginstr(self,instr):
self.writecmd(0x30,0x88,len(instr),instr);
return ord(self.data[0]);
print "%s test" % sys.argv[0];
print "%s info" % sys.argv[0];
print "%s lockbits [value]" % sys.argv[0];
- #print "%s dump $foo.hex [0x$start 0x$stop]" % sys.argv[0];
+ print "%s dumpflash $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]=="dump"):
+if(sys.argv[1]=="dumpflash"):
f = sys.argv[2];
start=0x0000;
stop=0xFFFF;
while start<=stop:
print "%06x: %02x" % (start,client.eeprompeek(start));
start=start+1;
+
if(sys.argv[1]=="peekflash"):
start=0x0000;
if(len(sys.argv)>2):
client.setup();
client.start();
+if(sys.argv[1]=="explore"):
+ print "Exploring undefined commands."
+ print "Status: %s" %client.CCstatusstr();
+
+ cmd=0x04; #read status
+ for foo in range(0,0x5):
+ client.CCcmd([(0x0F<<3)|(0x00)|0x03,0x09<<3]);
+ print "Status %02x: %s" % (foo,client.CCstatusstr());
+ for foo in range(0,3):
+ print "PC: %04x" % client.CCgetPC();
+
if(sys.argv[1]=="test"):
client.CCtest();
if(sys.argv[1]=="deadtest"):