X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Fapps%2Fjtag%2Fjtag430x2.c;h=5cafafeaddedba6384e32c2299188a1cc3937033;hp=e25a90525f0d7357702b9d1317284e66dbe25763;hb=dd37f96a4f842ea15233b8d0efd4ec001ad5de9c;hpb=3e4369fde16445c994da1b1efb332704aad0716d diff --git a/firmware/apps/jtag/jtag430x2.c b/firmware/apps/jtag/jtag430x2.c index e25a905..5cafafe 100644 --- a/firmware/apps/jtag/jtag430x2.c +++ b/firmware/apps/jtag/jtag430x2.c @@ -53,11 +53,13 @@ unsigned int jtag430_coreid(){ unsigned long jtag430_deviceid(){ jtag_ir_shift8(IR_DEVICE_ID); - return jtag_dr_shift(0); + return jtag_dr_shift20(0); } //! Set the program counter. void jtag430x2_setpc(unsigned long pc){ + //From SLAU265. + unsigned short Mova; unsigned short Pc_l; @@ -85,15 +87,18 @@ void jtag430x2_setpc(unsigned long pc){ jtag_dr_shift16(0x4303); CLRTCLK; jtag_ir_shift8(IR_ADDR_CAPTURE); - jtag_dr_shift(0x00000); + jtag_dr_shift20(0x00000); + }else{ + while(1) P1OUT^=1; //Lock LED if locked up. } } + //! Read data from address unsigned int jtag430x2_readmem(unsigned int adr){ unsigned int toret; - //SETPC_430Xv2(StartAddr); + jtag430x2_setpc(adr); SETTCLK; jtag_ir_shift8(IR_CNTRL_SIG_16BIT); jtag_dr_shift16(0x0501); @@ -128,6 +133,7 @@ void jtag430x2handle(unsigned char app, drwidth=16; }else if(jtagid==MSP430X2JTAGID){ jtag430mode=MSP430X2MODE; + drwidth=20; }else{ txdata(app,NOK,1); return; @@ -140,6 +146,7 @@ void jtag430x2handle(unsigned char app, case JTAG430_READMEM: case PEEK: cmddataword[0]=jtag430x2_readmem(cmddataword[0]); + //cmddataword[0]=jtag430_readmem(cmddataword[0]); txdata(app,verb,2); break; case JTAG430_COREIP_ID: