void jtag430handle(unsigned char app,
unsigned char verb,
unsigned long len){
- register char blocks;
unsigned long at;
unsigned int i, val;
//debugstr("Classic MSP430 handler.");
+
+ /* FIXME
+ * Sometimes JTAG doesn't init correctly.
+ * This restarts the connection if the masked-rom
+ * chip ID cannot be read. Should print warning
+ * for testing server.
+ */
+ while((i=jtag430_readmem(0xff0))==0xFFFF){
+ jtag430_start();
+ P1OUT^=1;
+ }
+ P1OUT&=~1;
+
switch(verb){
case START:
//Enter JTAG mode.
len=(cmddataword[2]);//always even.
else
len=2;
- len&=~1;//clue lsbit
+ len&=~1;//clear lsbit
txhead(app,verb,len);
for(i=0;i<len;i+=2){