Setting the default config in the Makefile so that it builds the exact same
authordwhuseby <dwhuseby@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Thu, 13 Jan 2011 07:48:29 +0000 (07:48 +0000)
committerdwhuseby <dwhuseby@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Thu, 13 Jan 2011 07:48:29 +0000 (07:48 +0000)
firmware as before the refactor.  I also cleaned up some compile issues after
the config change.

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

firmware/Makefile
firmware/apps/jtag/jtag430x2.c
firmware/include/jtag430x2.h [new file with mode: 0644]
firmware/include/sbw.h

index 42adfc2..86924b2 100644 (file)
@@ -85,10 +85,10 @@ CC=msp430-gcc -Wall -Os -g -mmcu=$(mcu) -D$(mcu) -D$(platform) -Dplatform=$(plat
 # config = monitor glitch
 
 # XScale PXA255 JTAG
-config = monitor jtagxscale
+config = monitor jtagxscale
 
 # Old Default Config
-#config = monitor sbw glitch chipcon nrf ccspi spi jtagarm7 jtag430 jtag430x2 avr
+config = monitor sbw glitch chipcon nrf ccspi spi jtagarm7 jtag430 jtag430x2 avr
 
 
 # Build the needed list of app and lib object files from the config
@@ -125,7 +125,6 @@ ifeq ($(filter sbw, $(config)), sbw)
                hdrs+= jtag.h
        endif
        apps+= apps/jtag/sbw.o
-       hdrs+= sbw.h
 endif
 
 # include jtag430 app
@@ -153,6 +152,10 @@ ifeq ($(filter jtag430x2, $(config)), jtag430x2)
        # add in the jtag430asm code if needed
        ifneq ($(filter jtag430asm.o, $(libs)), jtag430asm.o)
                libs+= apps/jtag/jtag430asm.o
+       endif
+       #add in the jtag430 app if not already
+       ifneq ($(filter apps/jtag/jtag430.o, $(apps)), apps/jtag/jtag430.0)
+               apps+= apps/jtag/jtag430.o
                hdrs+= jtag430.h
        endif
        apps+= apps/jtag/jtag430x2.o
@@ -307,7 +310,7 @@ m4s: $(app).hex
 erase:
        $(BSL) -e 
 clean:
-       rm -f $(app) $(app).hex $(libs) $(apps) include/config.h include/builddate.h include/apps.h
+       rm -f $(app) $(app).hex $(libs) $(apps) lib/apps.c include/config.h include/builddate.h include/apps.h
 docs:
        doxygen
 pushdocs: docs
index 85f3f19..4df9629 100644 (file)
@@ -6,6 +6,30 @@
 #include "platform.h"
 #include "command.h"
 #include "jtag430.h"
+#include "jtag430x2.h"
+
+void jtag430x2_handle_fn( uint8_t const app,
+                                                 uint8_t const verb,
+                                                 uint32_t const len);
+
+
+// define the jtag430x2 app's app_t
+app_t const jtag430x2_app = {
+
+       /* app number */
+       JTAG430X2,
+
+       /* handle fn */
+       jtag430x2_handle_fn,
+
+       /* name */
+       "JTAG430X2",
+
+       /* desc */
+       "\tThe JTAG430X2 app extends the basic JTAG app with support\n"
+       "\tfor 20-bit MSP430 devices.\n"
+};
+
 
 unsigned char jtagid;
 
@@ -185,18 +209,19 @@ unsigned int jtag430x2_fusecheck(){
 
 
 //! Handles MSP430X2 JTAG commands.  Forwards others to JTAG.
-void jtag430x2handle(unsigned char app,
-                    unsigned char verb,
-                    unsigned long len){
+void jtag430x2_handle_fn( uint8_t const app,
+                                                 uint8_t const verb,
+                                                 uint32_t const len)
+{
   register char blocks;
   
   unsigned int i,val;
-  unsigned long at;
+  unsigned long at, l;
   
   //jtag430_resettap();
   
   if(verb!=START && jtag430mode==MSP430MODE){
-    jtag430handle(app,verb,len);
+    (*(jtag430_app.handle))(app,verb,len);
     return;
   }
   
@@ -251,11 +276,11 @@ void jtag430x2handle(unsigned char app,
     blocks=(len>4?cmddata[4]:1);
     at=cmddatalong[0];
     
-    len=0x80;
-    txhead(app,verb,len);
+    l=0x80;
+    txhead(app,verb,l);
     
     while(blocks--){
-      for(i=0;i<len;i+=2){
+      for(i=0;i<l;i+=2){
        jtag430_resettap();
        delay(10);
        
@@ -297,7 +322,8 @@ void jtag430x2handle(unsigned char app,
     txdata(app,NOK,0);
     break;
   default:
-    jtaghandle(app,verb,len);
+    (*(jtag_app.handle))(app,verb,len);
   }
   jtag430_resettap();
 }
+
diff --git a/firmware/include/jtag430x2.h b/firmware/include/jtag430x2.h
new file mode 100644 (file)
index 0000000..86598a8
--- /dev/null
@@ -0,0 +1,16 @@
+/*! \file jtag430x2.h
+  \author Dave Huseby
+  \brief MSP430X2 JTAG (20-bit)
+*/
+
+#ifndef JTAG430X2_H
+#define JTAG430X2_H
+
+#include "app.h"
+
+#define JTAG430X2 0x11
+
+extern app_t const jtag430x2_app;
+
+#endif
+
index 4e1756c..4bd4f5e 100644 (file)
@@ -3,7 +3,12 @@
   \brief Spy-Bi-Wire Stuff
 */
 
+#ifndef SBW_H
+#define SBW_H
+
 #include "platform.h"
+#include "command.h"
+#include "app.h"
 
 //IO Pins; these are for EZ430, not GoodFET/UIF
 #define SBWTCK  BIT3
@@ -79,5 +84,5 @@ void sbwCLRTCLK();
 //Do nothing for this.
 #define SAVETCLK 
 
-
+#endif // SBW_H