SETTST;
SETRST;
delay(0xFFFF);
-
+
+ #ifndef SBWREWRITE
//Entry sequence from Page 67 of SLAU265A for 4-wire MSP430 JTAG
CLRRST;
delay(100); //100
SETRST;
P5DIR&=~RST;
delay(0xFFFF);
+ #endif
//Perform a reset and disable watchdog.
jtag430_por();
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(){
//TAP setup, fuse check
jtag430_resettap();
+ cmddata[0]=jtag_ir_shift8(IR_BYPASS);
+ txdata(app,verb,1);
+
+ break;
+ case STOP:
+ jtag430_stop();
txdata(app,verb,0);
break;
case JTAG430_HALTCPU: