X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Finclude%2Fcommand.h;h=ad0ad15dda90ca308e23d3f4ffe18f150a7a12ca;hp=c1269e6af2ca87aa8775c6aa7d93116f57780f60;hb=ae09939eb8c62c83f244527e7916cee5f9145e6c;hpb=3e900862cd87255c698e516c37078163ce343e77 diff --git a/firmware/include/command.h b/firmware/include/command.h index c1269e6..ad0ad15 100644 --- a/firmware/include/command.h +++ b/firmware/include/command.h @@ -1,8 +1,13 @@ -// Command handling functions. +/*! \file command.h + \author Travis Goodspeed + \brief Command codes and buffers. +*/ //! Global data buffer. extern unsigned char cmddata[256]; + #define cmddataword ((unsigned int*) cmddata) +#define cmddatalong ((unsigned long*) cmddata) #define memorybyte ((unsigned char*) 0) #define memoryword ((unsigned int*) 0) @@ -17,8 +22,16 @@ extern unsigned char cmddata[256]; #define NOK 0x7E #define OK 0x7F +#define DEBUGSTR 0xFF + // Monitor Commands #define MONITOR_CHANGE_BAUD 0x80 +#define MONITOR_RAM_PATTERN 0x90 +#define MONITOR_RAM_DEPTH 0x91 + +#define MONITOR_DIR 0xA0 +#define MONITOR_OUT 0xA1 +#define MONITOR_IN 0xA2 //CHIPCON commands #define CC_CHIP_ERASE 0x80 @@ -49,6 +62,14 @@ extern unsigned char cmddata[256]; #define JTAG_DR_SHIFT 0x81 #define JTAG_DR_SHIFT20 0x91 +//SPI commands +#define SPI_JEDEC 0x80 +#define SPI_ERASE 0x81 + +//OCT commands +#define OCT_CMP 0x90 +#define OCT_RES 0x91 + //JTAG430 commands #define JTAG430_HALTCPU 0xA0 #define JTAG430_RELEASECPU 0xA1 @@ -62,6 +83,8 @@ extern unsigned char cmddata[256]; #define JTAG430_VERIFYMEM 0xE5 #define JTAG430_BLOWFUSE 0xE6 #define JTAG430_ISFUSEBLOWN 0xE7 +#define JTAG430_COREIP_ID 0xF0 +#define JTAG430_DEVICE_ID 0xF1 //! Handle a command. Defined in goodfet.c void handle(unsigned char app, @@ -72,6 +95,25 @@ 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); +//! Transmit a debug string. +void debugstr(const char *str); -//! Delay +//! Delay for a count. void delay(unsigned int count); +//! MSDelay +void msdelay(unsigned int ms); + + +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); +void jtag430x2handle(unsigned char app, unsigned char verb, + unsigned char len); +