CLRTCLK;
jtag_ir_shift8(IR_CNTRL_SIG_16BIT);
+
if(adr>0xFF)
jtag_dr_shift16(0x2409);//word read
else
SETTCLK;
}
-
//! Write data to flash memory. Must be preconfigured.
void jtag430_writeflashword(unsigned int adr, unsigned int data){
/*
void jtag430_resettap(){
int i;
// Settle output
+ SETTDI; //430X2
SETTMS;
- SETTDI;
+ //SETTDI; //classic
SETTCK;
// Navigate to reset state.
/* sacred, by spec.
- Sometimes this isn't necessary. */
+ Sometimes this isn't necessary. */
// fuse check
CLRTMS;
delay(50);
jtag430_start();
//TAP setup, fuse check
jtag430_resettap();
+
txdata(app,verb,0);
break;
case JTAG430_HALTCPU:
jtag430_setinstrfetch();
txdata(app,verb,0);
break;
-
case JTAG430_READMEM:
case PEEK:
break;
case JTAG430_WRITEMEM:
case POKE:
- jtag430_writemem(cmddataword[0],cmddataword[1]);
- cmddataword[0]=jtag430_readmem(cmddataword[0]);
+ jtag430_writemem(cmddatalong[0],cmddataword[2]);
+ cmddataword[0]=jtag430_readmem(cmddatalong[0]);
txdata(app,verb,2);
break;
case JTAG430_WRITEFLASH: