X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Fapps%2Fjtag%2Fjtag430.c;h=f98cc5f27195557ed4375a2ebe047e46e0926b4c;hp=a35a40b9f1fd4427ac90f722fa361c40bdfd6d85;hb=386bb6b2c16f5d729a49e8eb8f42bbfad6a42d10;hpb=87c8139ff30306e8269e009d7fbd309dacf6d24e diff --git a/firmware/apps/jtag/jtag430.c b/firmware/apps/jtag/jtag430.c index a35a40b..f98cc5f 100644 --- a/firmware/apps/jtag/jtag430.c +++ b/firmware/apps/jtag/jtag430.c @@ -5,7 +5,7 @@ #include "platform.h" #include "command.h" -#include "jtag.h" +#include "jtag430.h" unsigned int jtag430mode=MSP430X2MODE; @@ -51,9 +51,14 @@ void jtag430_haltcpu(){ //! Release the CPU void jtag430_releasecpu(){ CLRTCLK; + //debugstr("Releasing target MSP430."); + + /* jtag_ir_shift8(IR_CNTRL_SIG_16BIT); - jtag_dr_shift16(0x2401); - jtag_ir_shift8(IR_ADDR_CAPTURE); + jtag_dr_shift16(0x2C01); //Apply reset. + jtag_dr_shift16(0x2401); //Release reset. + */ + jtag_ir_shift8(IR_CNTRL_SIG_RELEASE); SETTCLK; } @@ -324,10 +329,11 @@ void jtag430handle(unsigned char app, * for testing server. */ while((i=jtag430_readmem(0xff0))==0xFFFF){ + debugstr("Reconnecting to target MSP430."); jtag430_start(); - P1OUT^=1; + PLEDOUT^=PLEDPIN; } - P1OUT&=~1; + PLEDOUT&=~PLEDPIN; switch(verb){ @@ -428,7 +434,10 @@ void jtag430handle(unsigned char app, break; case JTAG430_SETPC: jtag430_haltcpu(); + //debughex("Setting PC."); + //debughex(cmddataword[0]); jtag430_setpc(cmddataword[0]); + jtag430_releasecpu(); txdata(app,verb,0); break; case JTAG430_SETREG: