Reading status works.
[goodfet] / client / GoodFETConsole.py
index 751f580..3612007 100644 (file)
@@ -11,6 +11,23 @@ import binascii;
 from GoodFET import GoodFET;
 from intelhex import IntelHex;
 
+
+#grep CMD GoodFETConsole.py | grep def | sed s/\(sel.\*// | sed 's/def CMD//'
+commands="""
+    info
+    lock
+    erase
+    test
+    status
+    halt
+    resume
+    peek
+    flash
+    dump
+    where
+    chip
+"""
+
 class GoodFETConsole():
     """An interactive goodfet driver."""
     
@@ -19,6 +36,7 @@ class GoodFETConsole():
         client.serInit();
         client.setup();
         client.start();
+        client.loadsymbols();
     def prompt(self):
         sys.stdout.write("gf% ");
         sys.stdout.flush();
@@ -74,14 +92,21 @@ class GoodFETConsole():
     def CMDresume(self,args):
         print self.client.resume();
     def CMDpeek(self,args):
-        adr=eval(args[1]);
+        adr=args[1];
         memory="vn";
         if(len(args)>2):
             memory=args[2];
-        print "0x%08x:= 0x%04x" % (adr, self.client.peek16(adr,memory));
+        adr= self.client.name2adr(adr);
+        #print "%i" % adr;
+        print "0x%08x:= 0x%04x" % (
+            adr, self.client.peekword(adr,
+                                  memory));
     def CMDflash(self,args):
         file=args[1];
         self.client.flash(self.expandfilename(file));
+    def CMDdump(self,args):
+        file=args[1];
+        self.client.dump(self.expandfilename(file));
     def CMDwhere(self,args):
         pc=self.client.getpc();
         print "PC=0x%04X" % pc;