X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=firmware%2Fapps%2Fjtag%2Fjtag430.c;h=35874a897e797c21fd22b77547f33aa5f5829498;hb=c9fa78dd91736cd5004d23fd9535c30be4f978ff;hp=50fc70dbd1501636a7a3e5637bbd50509c03bfe4;hpb=6648c78f1f6eca1ff5bc477d10b12c2125f31285;p=goodfet diff --git a/firmware/apps/jtag/jtag430.c b/firmware/apps/jtag/jtag430.c index 50fc70d..35874a8 100644 --- a/firmware/apps/jtag/jtag430.c +++ b/firmware/apps/jtag/jtag430.c @@ -257,6 +257,27 @@ void jtag430_start(){ jtag430_haltcpu(); } +//! Start normally, not JTAG. +void jtag430_stop(){ + debugstr("Exiting JTAG."); + jtagsetup(); + + //Known-good starting position. + //Might be unnecessary. + //SETTST; + CLRTST; + SETRST; + delay(0xFFFF); + + //Entry sequence from Page 67 of SLAU265A for 4-wire MSP430 JTAG + CLRRST; + delay(0xFFFF); + SETRST; + //P5DIR&=~RST; + //delay(0xFFFF); + +} + //! Set CPU to Instruction Fetch void jtag430_setinstrfetch(){ @@ -301,6 +322,10 @@ void jtag430handle(unsigned char app, //TAP setup, fuse check jtag430_resettap(); + txdata(app,verb,0); + break; + case STOP: + jtag430_stop(); txdata(app,verb,0); break; case JTAG430_HALTCPU: