X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Finclude%2Fcommand.h;h=c53917598f242a5a9f7de9cfd27609ab95490df1;hp=2df777869758b4cbb806dd4adb9423398d2e077e;hb=3bf98a899ca8003835b69d949d299369a5d7a4f7;hpb=0652c424f95ebdb6c9be17edc0a4d1057432142f diff --git a/firmware/include/command.h b/firmware/include/command.h index 2df7778..c539175 100644 --- a/firmware/include/command.h +++ b/firmware/include/command.h @@ -4,6 +4,7 @@ extern unsigned char cmddata[256]; #define cmddataword ((unsigned int*) cmddata) #define memorybyte ((unsigned char*) 0) +#define memoryword ((unsigned int*) 0) // Global Commands #define READ 0x00 @@ -11,9 +12,57 @@ extern unsigned char cmddata[256]; #define PEEK 0x02 #define POKE 0x03 #define SETUP 0x10 +#define START 0x20 +#define STOP 0x21 #define NOK 0x7E #define OK 0x7F +// Monitor Commands +#define MONITOR_CHANGE_BAUD 0x80 + +//CHIPCON commands +#define CC_CHIP_ERASE 0x80 +#define CC_WR_CONFIG 0x81 +#define CC_RD_CONFIG 0x82 +#define CC_GET_PC 0x83 +#define CC_READ_STATUS 0x84 +#define CC_SET_HW_BRKPNT 0x85 +#define CC_HALT 0x86 +#define CC_RESUME 0x87 +#define CC_DEBUG_INSTR 0x88 +#define CC_STEP_INSTR 0x89 +#define CC_STEP_REPLACE 0x8a +#define CC_GET_CHIP_ID 0x8b +//CHIPCON macros +#define CC_READ_CODE_MEMORY 0x90 +#define CC_READ_XDATA_MEMORY 0x91 +#define CC_WRITE_XDATA_MEMORY 0x92 +#define CC_SET_PC 0x93 +#define CC_CLOCK_INIT 0x94 +#define CC_WRITE_FLASH_PAGE 0x95 +#define CC_READ_FLASH_PAGE 0x96 +#define CC_MASS_ERASE_FLASH 0x97 +#define CC_PROGRAM_FLASH 0x98 + +//JTAG commands +#define JTAG_IR_SHIFT 0x80 +#define JTAG_DR_SHIFT 0x81 +#define JTAG_DR_SHIFT20 0x91 + +//JTAG430 commands +#define JTAG430_HALTCPU 0xA0 +#define JTAG430_RELEASECPU 0xA1 +#define JTAG430_SETINSTRFETCH 0xC1 +#define JTAG430_SETPC 0xC2 +#define JTAG430_WRITEMEM 0xE0 +#define JTAG430_WRITEFLASH 0xE1 +#define JTAG430_READMEM 0xE2 +#define JTAG430_ERASEFLASH 0xE3 +#define JTAG430_ERASECHECK 0xE4 +#define JTAG430_VERIFYMEM 0xE5 +#define JTAG430_BLOWFUSE 0xE6 +#define JTAG430_ISFUSEBLOWN 0xE7 + //! Handle a command. Defined in goodfet.c void handle(unsigned char app, unsigned char verb, @@ -23,6 +72,18 @@ void handle(unsigned char app, void txdata(unsigned char app, unsigned char verb, unsigned char len); +//! Transmit a string. +void txstring(unsigned char app, + unsigned char verb, + const char *str); //! Delay void delay(unsigned int count); + + +void monitorhandle(unsigned char, unsigned char, unsigned char); +void spihandle(unsigned char, unsigned char, unsigned char); +void i2chandle(unsigned char, unsigned char, unsigned char); +void cchandle(unsigned char, unsigned char, unsigned char); +void jtaghandle(unsigned char, unsigned char, unsigned char); +void jtag430handle(unsigned char, unsigned char, unsigned char);