X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=firmware%2Finclude%2Fcommand.h;h=e99a396002ac7dfcc79e27559fa2e5a20be27ccf;hb=1706a7f4cfa73ed716b56f5b0322bfb67b560ade;hp=ece0ad179776192a9fda58f7866bdc945094fb88;hpb=e858c51543d928d837578d3e03dd5686e888220e;p=goodfet diff --git a/firmware/include/command.h b/firmware/include/command.h index ece0ad1..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 @@ -53,6 +74,10 @@ extern unsigned char cmddata[256]; #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 @@ -66,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, @@ -80,9 +107,13 @@ void txdata(unsigned char app, 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); @@ -91,3 +122,6 @@ 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); +