jtagarm7 more obligatory stupid bug fixes, doh!
authordodge-this <dodge-this@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Thu, 24 Jan 2013 18:51:34 +0000 (18:51 +0000)
committerdodge-this <dodge-this@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Thu, 24 Jan 2013 18:51:34 +0000 (18:51 +0000)
git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@1411 12e2690d-a6be-4b82-a7b7-67c4a43b65c8

client/GoodFETARM7.py
client/GoodFETAT91X40.py

index 6b97253..fcc2d77 100644 (file)
@@ -386,7 +386,7 @@ class GoodFETARM7(GoodFET):
         self.storedPC = self.ARMget_register(15) + pcoffset
         self.last_dbg_state = self.ARMget_dbgstate()
         self.cpsr = self.ARMget_regCPSR()
-        print "ARMcapture_system_state: stored pc: 0x%x  last_dbg_state: 0x%x" % (self.storedPC, self.last_dbg_state)
+        #print "ARMcapture_system_state: stored pc: 0x%x  last_dbg_state: 0x%x" % (self.storedPC, self.last_dbg_state)
 
     #def ARMhaltcpu(self):
     def halt(self):
@@ -404,7 +404,7 @@ class GoodFETARM7(GoodFET):
         self.ARMset_dbgctrl(0)
 
         self.ARMcapture_system_state(PCOFF_DBGRQ)
-        print "storedPC: %x (%x)      flags: %x    nothing: %x" % (self.storedPC, self.c0Data, self.flags, self.c0Addr)
+        #print "storedPC: %x (%x)      flags: %x    nothing: %x" % (self.storedPC, self.c0Data, self.flags, self.c0Addr)
         if self.ARMget_dbgstate() & DBG_TBIT:
             self.ARMsetModeARM()
             if self.storedPC ^ 4:
@@ -412,7 +412,7 @@ class GoodFETARM7(GoodFET):
         self.stored_regs = self.ARMget_registers()[:15]
         #print "stored regs: " + repr(self.stored_regs)
         #print self.print_stored_registers()
-        print "CPSR: (%s) %s"%(self.ARMget_regCPSRstr())
+        #print "CPSR: (%s) %s"%(self.ARMget_regCPSRstr())
     #halt = ARMhaltcpu
 
     #def ARMreleasecpu(self):
@@ -585,11 +585,11 @@ class GoodFETARM7(GoodFET):
                 #print out
         return ''.join(out)        
 
-    def ARMprintChunk(self, adr, wordcount, verbose=False, width=8):
+    def ARMprintChunk(self, adr, wordcount=1, verbose=False, width=8):
         for string in self.ARMreprChunk(adr, wordcount, verbose=False, width=8):
             sys.stdout.write(string)
 
-    def ARMreprChunk(self, adr, wordcount, verbose=False, width=8):
+    def ARMreprChunk(self, adr, wordcount=1, verbose=False, width=8):
         adr &= 0xfffffffc
         endva = adr + (4*wordcount)
         output = [ "Dwords from 0x%x through 0x%x" % (adr, endva) ]
@@ -602,7 +602,7 @@ class GoodFETARM7(GoodFET):
 
         yield("\n")
 
-    def ARMreadChunk(self, adr, wordcount, verbose=True):
+    def ARMreadChunk(self, adr, wordcount=1, verbose=True):
         """ Only works in ARM mode currently
         WARNING: Addresses must be word-aligned!
         """
@@ -808,9 +808,9 @@ def arm7_main():
 def arm7_cli_handler(client, argv):
     if(argv[1]=="info"):
         client.halt()
-        print >>sys.stderr,"Identifying Target:"
         print >>sys.stderr, client.ARMidentstr()
-        print >>sys.stderr,"Debug Status:\t%s\n" % client.statusstr()
+        print >>sys.stderr,"Debug Status:\t%s" % client.statusstr()
+        print >>sys.stderr,"CPSR: (%s) %s\n"%(client.ARMget_regCPSRstr())
         client.resume()
 
 
index 12803b5..c8c792c 100644 (file)
@@ -265,7 +265,7 @@ def mcr_decode(mcr):
     #print hex(drp)
     if drp and drp != 1:
         drp = 2
-       return (validAddrBits, maxAddrSpace, validCS, codeLabel, drp)
+    return (validAddrBits, maxAddrSpace, validCS, codeLabel, drp)
 
 def mcr_decode_str(mcr):
     ( validAddrBits, maxAddrSpace, validCS, codeLabel, drp) = mcr_decode(mcr)
@@ -330,10 +330,10 @@ class GoodFETAT91X40(GoodFETARM7):
         addr = EBI_BASE + (chipnum*4)
         self.ARMwriteChunk(addr,[value])
 
-    def getEBIMemoryMap(self):
+    def getEBIMemoryMapstr(self):
         keys = ebi_memory_map_items.keys()
         keys.sort()
-        output = [ "EBI Memory Map"]
+        output = [ "===EBI Memory Map==="]
         for x in xrange(8):
             desc,name,rw,default = ebi_memory_map_items[x*4]
             output.append("\nMAP: %s (%s) - default: %x\n%s"%(name,desc,default,self.getChipSelectRegstr(x)))
@@ -345,9 +345,8 @@ class GoodFETAT91X40(GoodFETARM7):
         return mcr
     def getMemoryControlRegisterstr(self):
         return mcr_decode_str(self.getMemoryControlRegister())
-    def getEBIMCR(self):
-        print "EBI Memory Control Register\n"
-        print self.getMemoryControlRegisterstr()
+    def getEBIMCRstr(self):
+        return  "EBI Memory Control Register\n" + self.getMemoryControlRegisterstr()
 
     def getInterruptSourceModeReg(self, regnum):
         regval = self.ARMreadMem(AIC_SMR[regnum][0])
@@ -655,14 +654,15 @@ def at91x40_cli_handler(client, argv):
 
     if(argv[1]=="memorymap"):
         client.halt()
-        print client.getEBIMCR()
+        print "=============================================="
+        print client.getEBIMCRstr()
         print ""
-        print client.getEBIMemoryMap()
+        print client.getEBIMemoryMapstr()
         client.resume()
 
     if(argv[1]=="memorycontrolreg"):
         client.halt()
-        print client.getEBIMCR()
+        print client.getEBIMCRstr()
         client.resume()