Cleared compiler warning messages for port redefinitions, now that this is cleanly...
authortravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Sun, 22 Nov 2009 06:02:42 +0000 (06:02 +0000)
committertravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Sun, 22 Nov 2009 06:02:42 +0000 (06:02 +0000)
Rewrite JTAG430_WRITEFLASH handler to accept blocks.

git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@231 12e2690d-a6be-4b82-a7b7-67c4a43b65c8

firmware/apps/jtag/jtag430.c
firmware/include/gfports.h

index b7b3152..18a7c38 100644 (file)
@@ -345,17 +345,34 @@ void jtag430handle(unsigned char app,
     cmddataword[0]=jtag430_readmem(cmddataword[0]);
     txdata(app,verb,2);
     break;
     cmddataword[0]=jtag430_readmem(cmddataword[0]);
     txdata(app,verb,2);
     break;
+    /*
   case JTAG430_WRITEFLASH:
   case JTAG430_WRITEFLASH:
+
     //debugstr("Poking flash memory.");
     jtag430_writeflash(cmddataword[0],cmddataword[2]);
     
     //Try again if failure.
     //debugstr("Poking flash memory.");
     jtag430_writeflash(cmddataword[0],cmddataword[2]);
     
     //Try again if failure.
-    if(cmddataword[0]!=jtag430_readmem(cmddataword[0]))
-      jtag430_writeflash(cmddataword[0],cmddataword[2]);
+    //if(cmddataword[2]!=jtag430_readmem(cmddataword[0]))
+    //  jtag430_writeflash(cmddataword[0],cmddataword[2]);
     
     //Return result.
     cmddataword[0]=jtag430_readmem(cmddataword[0]);
     
     
     //Return result.
     cmddataword[0]=jtag430_readmem(cmddataword[0]);
     
+    txdata(app,verb,2);
+    break; */
+  case JTAG430_WRITEFLASH:
+    at=cmddataword[0];
+    
+    for(i=2;i<(len>>1);i++){
+      //debugstr("Poking flash memory.");
+      jtag430_writeflash(at,cmddataword[i]);
+      if(cmddataword[i]!=jtag430_readmem(at))
+       jtag430_writeflash(at,cmddataword[i]);
+    }
+
+    //Return result of first write as a word.
+    cmddataword[0]=jtag430_readmem(cmddataword[0]);
+    
     txdata(app,verb,2);
     break;
   case JTAG430_ERASEFLASH:
     txdata(app,verb,2);
     break;
   case JTAG430_ERASEFLASH:
index 59fe4ce..8cc1012 100644 (file)
@@ -13,7 +13,7 @@
 //Use P3 instead of P5 for target I/O on chips without P5.
 #ifndef __MSP430_HAS_PORT5__
 #ifndef __MSP430_HAS_PORT5_R__
 //Use P3 instead of P5 for target I/O on chips without P5.
 #ifndef __MSP430_HAS_PORT5__
 #ifndef __MSP430_HAS_PORT5_R__
-#warning "No P5, using P3 instead.  Will break 2618 and 1612 support."
+//#warning "No P5, using P3 instead.  Will break 2618 and 1612 support."
 #define P5OUT P3OUT
 #define P5DIR P3DIR
 #define P5REN P3REN
 #define P5OUT P3OUT
 #define P5DIR P3DIR
 #define P5REN P3REN
@@ -25,7 +25,7 @@
 //Use false P5REN for 1612.
 #ifdef __MSP430_HAS_PORT5__
 #ifndef __MSP430_HAS_PORT5_R__
 //Use false P5REN for 1612.
 #ifdef __MSP430_HAS_PORT5__
 #ifndef __MSP430_HAS_PORT5_R__
-#warning "1xx, using fake P5REN for external pulling resistors."
+//#warning "1xx, using fake P5REN for external pulling resistors."
 #define P5REN P5OUT
 #endif
 #endif
 #define P5REN P5OUT
 #endif
 #endif