X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=firmware%2Finclude%2Fchipcon.h;h=bf471e6f2fab06469c3fb739fc3df4cb5f98d21d;hb=00737f87325a8f97ce23c32f32e93b082bf5a4d2;hp=524f623c64c78113e0fe70128340687d246acb37;hpb=ea4f451d1fbdc93bb175c7b55a43f3e906219a62;p=goodfet diff --git a/firmware/include/chipcon.h b/firmware/include/chipcon.h index 524f623..bf471e6 100644 --- a/firmware/include/chipcon.h +++ b/firmware/include/chipcon.h @@ -7,6 +7,8 @@ //Chipcon command definitions. #define CCCMD_CHIP_ERASE 0x14 + +//1D or 19? #define CCCMD_WR_CONFIG 0x1D #define CCCMD_RD_CONFIG 0x24 #define CCCMD_READ_STATUS 0x34 @@ -37,6 +39,10 @@ void cc_debug_instr(unsigned char); unsigned char cc_peekcodebyte(unsigned long adr); //!Read a byte of data memory. unsigned char cc_peekdatabyte(unsigned int adr); +//! Fetch a byte of IRAM. +u8 cc_peekirambyte(u8 adr); +//! Write a byte of IRAM. +u8 cc_pokeirambyte(u8 adr, u8 val); //! Set a byte of data memory. unsigned char cc_pokedatabyte(unsigned int adr, unsigned char val); @@ -61,6 +67,8 @@ void cc_halt(); void cc_resume(); //! Step an instruction void cc_step_instr(); +//! Locks the chip. +void cc_lockchip(); #define CC_STATUS_ERASED 0x80 #define CC_STATUS_PCONIDLE 0x40 @@ -95,4 +103,4 @@ void cc_step_instr(); #define CC_MASS_ERASE_FLASH 0x97 #define CC_PROGRAM_FLASH 0x98 #define CC_WIPEFLASHBUFFER 0x99 - +#define CC_LOCKCHIP 0x9A