From 8691ee02d0b0d75d4a44a9deadf14f394cd57740 Mon Sep 17 00:00:00 2001 From: dodge-this Date: Thu, 24 Jan 2013 18:51:34 +0000 Subject: [PATCH] jtagarm7 more obligatory stupid bug fixes, doh! git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@1411 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- client/GoodFETARM7.py | 16 ++++++++-------- client/GoodFETAT91X40.py | 18 +++++++++--------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/client/GoodFETARM7.py b/client/GoodFETARM7.py index 6b97253..fcc2d77 100644 --- a/client/GoodFETARM7.py +++ b/client/GoodFETARM7.py @@ -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() diff --git a/client/GoodFETAT91X40.py b/client/GoodFETAT91X40.py index 12803b5..c8c792c 100644 --- a/client/GoodFETAT91X40.py +++ b/client/GoodFETAT91X40.py @@ -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() -- 2.20.1