X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=client%2FGoodFETAT91X40.py;h=cb9c7a85487312f29906c84fc3a3caaa99254b55;hp=d1f152c8dfbd98701ed29fdd3d38764c56d7355d;hb=b889bfabe5b0ed8d248ae1533c1a260d103ae1a0;hpb=5a9cb247299710d6f1f093b60a167c7c28e98eef diff --git a/client/GoodFETAT91X40.py b/client/GoodFETAT91X40.py index d1f152c..cb9c7a8 100644 --- a/client/GoodFETAT91X40.py +++ b/client/GoodFETAT91X40.py @@ -249,7 +249,7 @@ mcr_ale = { } def mcr_decode(mcr): - validAddrBits,maxAddrSpace,validCS,codeLabel = mcr_decode[mcr&7] + validAddrBits,maxAddrSpace,validCS,codeLabel = mcr_ale[mcr&7] drp = mcr>>4 output = ["Valid Address Bits: %s"%validAddrBits, "Maximum Address Space: %xMB"%maxAddrSpace, @@ -299,7 +299,7 @@ class GoodFETAT91X40(GoodFETARM): def setRemap(self): self.ARMwriteChunk(EBI_BASE + EBI_OFF_RCR,[REMAP_CMD]) def getMemoryControlRegister(self): - mcr = self.ARMreadMem(EBI_MCR) + mcr, = self.ARMreadMem(EBI_MCR) return mcr def getMemoryControlRegisterstr(self): return mcr_decode(self.getMemoryControlRegister()) @@ -429,3 +429,14 @@ class GoodFETAT91X40(GoodFETARM): self.ARMsetPC(PROGGYBASE) self.release() # FIXME: use DCC to upload the new firmware + + def clearFlash(self): + pass + + def readPages(self, addr, pagecount, pagesz=(1024*1024)): + global pages; + pages = [] + for page in xrange(pagecount): + pages.append(self.ARMreadChunk(addr+(pagesz*page), pagesz)) + return pages +