X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=firmware%2Finclude%2Fcommand.h;h=e99a396002ac7dfcc79e27559fa2e5a20be27ccf;hb=1706a7f4cfa73ed716b56f5b0322bfb67b560ade;hp=c1269e6af2ca87aa8775c6aa7d93116f57780f60;hpb=3e900862cd87255c698e516c37078163ce343e77;p=goodfet diff --git a/firmware/include/command.h b/firmware/include/command.h index c1269e6..e99a396 100644 --- a/firmware/include/command.h +++ b/firmware/include/command.h @@ -1,8 +1,14 @@ -// Command handling functions. +/*! \file command.h + \author Travis Goodspeed + \brief Command codes and buffers. +*/ //! Global data buffer. -extern unsigned char cmddata[256]; +extern unsigned char cmddata[0x100]; +extern unsigned char silent; + #define cmddataword ((unsigned int*) cmddata) +#define cmddatalong ((unsigned long*) cmddata) #define memorybyte ((unsigned char*) 0) #define memoryword ((unsigned int*) 0) @@ -17,8 +23,23 @@ 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 + +#define MONITOR_SILENT 0xB0 + +#define MONITOR_READBUF 0xC0 +#define MONITOR_WRITEBUF 0xC1 +#define MONITOR_SIZEBUF 0xC2 + //CHIPCON commands #define CC_CHIP_ERASE 0x80 @@ -49,6 +70,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 +91,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 +103,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); +