X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Finclude%2Fcommand.h;h=7eb1f610b6a5b155c35eaef702f1d1c66126787d;hp=2c722c3343edc0fb83b3d0cfec2b04ae9cacafdd;hb=92560226caf1a463eb144324978b0a390327e09e;hpb=7e6962f68870771eafca05e8401a7cfeea132a3f diff --git a/firmware/include/command.h b/firmware/include/command.h index 2c722c3..7eb1f61 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 @@ -16,6 +17,9 @@ extern unsigned char cmddata[256]; #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 @@ -40,6 +44,30 @@ extern unsigned char cmddata[256]; #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 + +//SPI commands +#define SPI_JEDEC 0x80 +#define SPI_ERASE 0x81 +#define SPI_WRITE 0x82 + +//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, @@ -49,6 +77,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);