From f76fbc5671172624ee4ef0f932e84d35b57b512e Mon Sep 17 00:00:00 2001 From: travisutk Date: Sat, 5 Jun 2010 22:45:22 +0000 Subject: [PATCH] goodfet.msp430 selftest is working! git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@599 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- client/goodfet.msp430 | 3 +-- firmware/apps/jtag/jtag430.c | 13 +++++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/client/goodfet.msp430 b/client/goodfet.msp430 index a250341..23f4d1e 100755 --- a/client/goodfet.msp430 +++ b/client/goodfet.msp430 @@ -75,8 +75,7 @@ if(sys.argv[1]=="selftest"): entry=client.peek16(0xFFC0); print "Calling self-test at 0x%04x." %entry; client.MSP430setPC(entry); - print "PC=%04x" % client.MSP430getreg(0); - client.MSP430releasecpu(); + #client.MSP430releasecpu(); import time; time.sleep(30) diff --git a/firmware/apps/jtag/jtag430.c b/firmware/apps/jtag/jtag430.c index a35a40b..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; } @@ -324,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; } @@ -428,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: -- 2.20.1