Dropped ugly 'blocks' kludge for a 16-bit length field.
[goodfet] / firmware / apps / jtag / jtag.c
index af420c7..73a6750 100644 (file)
@@ -1,7 +1,8 @@
-//GoodFET JTAG Application
-//Handles basic I/O
+/*! \file jtag.c
+  \author Travis Goodspeed <travis at radiantmachines.com>
+  \brief Low-level JTAG
+*/
 
 
-//Higher level left to client application.
 
 #include "platform.h"
 #include "command.h"
 
 #include "platform.h"
 #include "command.h"
@@ -13,8 +14,10 @@ void jtagsetup(){
   P5DIR|=MOSI+SCK+TMS;
   P5DIR&=~MISO;
   P5OUT|=0xFFFF;
   P5DIR|=MOSI+SCK+TMS;
   P5DIR&=~MISO;
   P5OUT|=0xFFFF;
+  P5OUT=0;
   P4DIR|=TST;
   P2DIR|=RST;
   P4DIR|=TST;
   P2DIR|=RST;
+  msdelay(100);
 }
 
 int savedtclk=0;
 }
 
 int savedtclk=0;
@@ -203,7 +206,7 @@ unsigned char jtag_ir_shift8(unsigned char in){
 //! Handles a monitor command.
 void jtaghandle(unsigned char app,
               unsigned char verb,
 //! Handles a monitor command.
 void jtaghandle(unsigned char app,
               unsigned char verb,
-              unsigned char len){
+              unsigned long len){
   switch(verb){
     //START handled by specific JTAG
   case STOP:
   switch(verb){
     //START handled by specific JTAG
   case STOP: