X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Finclude%2Fjtag430.h;h=6cff0b79c466c3df1fe6abad0162eeb56983f428;hp=9196e3c42f1b7a1a57d7d2fc1a65bf69e5b8b623;hb=a031b4a563978102c664466d1e91a9c3ab0553dd;hpb=e817cabc59643e977e311334efffd56bcf44cac3 diff --git a/firmware/include/jtag430.h b/firmware/include/jtag430.h index 9196e3c..6cff0b7 100644 --- a/firmware/include/jtag430.h +++ b/firmware/include/jtag430.h @@ -1,16 +1,16 @@ -/*! \file jtag.h +/*! \file jtag430.h \author Travis Goodspeed \brief JTAG handler functions. - -FIXME: Remove these when proven compiling -#include -#include -#include */ +#ifndef JTAG430_H +#define JTAG430_H +#include "app.h" #include "jtag.h" +#define JTAG430 0x16 + extern unsigned int drwidth; #define MSP430MODE 0 @@ -20,8 +20,10 @@ extern unsigned int jtag430mode; // JTAG430 Commands -//! Start JTAG, unique to the '430. +//! Start JTAG, unique to the '430. Deprecated. void jtag430_start(); +//! Same thing, but also for '430X2. +unsigned char jtag430x2_start(); //! Reset the TAP state machine, check the fuse. void jtag430_resettap(); @@ -43,6 +45,8 @@ void jtag430_setinstrfetch(); void jtag430_setpc(unsigned int adr); //! Write data to address. void jtag430_writeflash(unsigned int adr, unsigned int data); +//! Shift an address width of data +uint32_t jtag430_shift_addr( uint32_t addr ); //16-bit MSP430 JTAG commands, bit-swapped @@ -87,6 +91,9 @@ void jtag430_por(); #define JTAG430_RELEASECPU 0xA1 #define JTAG430_SETINSTRFETCH 0xC1 #define JTAG430_SETPC 0xC2 +#define JTAG430_SETREG 0xD2 +#define JTAG430_GETREG 0xD3 + #define JTAG430_WRITEMEM 0xE0 #define JTAG430_WRITEFLASH 0xE1 #define JTAG430_READMEM 0xE2 @@ -95,5 +102,10 @@ void jtag430_por(); #define JTAG430_VERIFYMEM 0xE5 #define JTAG430_BLOWFUSE 0xE6 #define JTAG430_ISFUSEBLOWN 0xE7 +#define JTAG430_ERASEINFO 0xE8 #define JTAG430_COREIP_ID 0xF0 #define JTAG430_DEVICE_ID 0xF1 + +extern app_t const jtag430_app; + +#endif // JTAG430_H