X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Fapps%2Fjtag%2Fjtag430.c;h=5a8da9a4437a99fa6db32d642e4743d3a47686d0;hp=fa86dca591d6314e9c6cfb031ccea6bbd533d06e;hb=f76fbc5671172624ee4ef0f932e84d35b57b512e;hpb=cfb2ad11026950e1fc738735ded9f9a7aaa59d5e diff --git a/firmware/apps/jtag/jtag430.c b/firmware/apps/jtag/jtag430.c index fa86dca..5a8da9a 100644 --- a/firmware/apps/jtag/jtag430.c +++ b/firmware/apps/jtag/jtag430.c @@ -51,9 +51,14 @@ void jtag430_haltcpu(){ //! Release the CPU void jtag430_releasecpu(){ CLRTCLK; + debugstr("Releasing target MSP430."); + + /* jtag_ir_shift8(IR_CNTRL_SIG_16BIT); - jtag_dr_shift16(0x2401); - jtag_ir_shift8(IR_ADDR_CAPTURE); + jtag_dr_shift16(0x2C01); //Apply reset. + jtag_dr_shift16(0x2401); //Release reset. + */ + jtag_ir_shift8(IR_CNTRL_SIG_RELEASE); SETTCLK; } @@ -133,6 +138,7 @@ void jtag430_writeflash(unsigned int adr, unsigned int data){ jtag430_writemem(0x012A, 0xA540); //FCTL3=0xA500, should be 0xA540 for Info Seg A on 2xx chips. jtag430_writemem(0x012C, 0xA500); //all but info flash. + //if(jtag430_readmem(0x012C)); //Write the word itself. jtag430_writeflashword(adr,data); @@ -323,6 +329,7 @@ void jtag430handle(unsigned char app, * for testing server. */ while((i=jtag430_readmem(0xff0))==0xFFFF){ + debugstr("Reconnecting to target MSP430."); jtag430_start(); P1OUT^=1; } @@ -427,7 +434,10 @@ void jtag430handle(unsigned char app, break; case JTAG430_SETPC: jtag430_haltcpu(); + debughex("Setting PC."); + debughex(cmddataword[0]); jtag430_setpc(cmddataword[0]); + jtag430_releasecpu(); txdata(app,verb,0); break; case JTAG430_SETREG: