from GoodFET import GoodFET;
from intelhex import IntelHex;
-
class GoodFETCC(GoodFET):
"""A GoodFET variant for use with Chipcon 8051 Zigbeema SoC."""
def CChaltcpu(self):
return ord(self.data[0])
CCstatusbits={0x80 : "erased",
0x40 : "pcon_idle",
- 0x20 : "halted",
+ 0x20 : "cpu_halted",
0x10 : "pm0",
- 0x08 : "halted",
+ 0x08 : "halt_status",
0x04 : "locked",
0x02 : "oscstable",
0x01 : "overflow"};
def CCstep_instr(self):
"""Step one instruction."""
self.writecmd(0x30,0x89,0,self.data);
-
+ def CCeraseflashbuffer(self):
+ """Erase the 2kB flash buffer"""
+ self.writecmd(0x30,0x99);
+ def CCflashpage(self,adr):
+ """Flash 2kB a page of flash from 0xF000 in XDATA"""
+ data=[adr&0xFF,
+ (adr>>8)&0xFF,
+ (adr>>16)&0xFF,
+ (adr>>24)&0xFF];
+ print "Flashing buffer to 0x%06x" % adr;
+ self.writecmd(0x30,0x95,4,data);