/************************** JTAG Primitives ****************************/
// these have been turned into functions to save flash space
void jtag_tcktock() {
- //delay(1); // FIXME: Should never wait this long...
CLRTCK;
PLEDOUT^=PLEDPIN;
- //delay(1); // FIXME: Should never wait this long...
SETTCK;
PLEDOUT^=PLEDPIN;
}
jtag_tcktock();
}
-void jtag_reset_to_runtest_idle() {
+void jtag_resettap(){
SETTMS;
jtag_tcktock();
jtag_tcktock();
SAVETCLK;
for (bit = 0; bit < bitcount; bit++) {
- //* write MOSI on trailing edge of previous clock *
+ // write MOSI on trailing edge of previous clock *
if (word & high)
{SETMOSI;}
else
SETTMS;//TMS high on last bit to exit.
TCKTOCK;
- //* read MISO on trailing edge *
+ // read MISO on trailing edge *
word |= READMISO;
}
cmddataword[0]=jtag_dr_shift16(cmddataword[0]);
txdata(app,verb,2);
break;
+ case JTAG_RESETTAP:
+ jtag_resettap();
+ txdata(app,verb,0);
+ break;
default:
txdata(app,NOK,0);
}