From d8eef3ccb487fb87b2aca1dc6a0bd9b9bbe31861 Mon Sep 17 00:00:00 2001 From: travisutk Date: Sun, 11 Oct 2009 11:13:00 +0000 Subject: [PATCH] Early support for 2254 on the GoodFET30. More modules are optional. git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@198 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- firmware/Makefile | 6 +++--- firmware/goodfet.c | 2 -- firmware/include/command.h | 15 ++++++++++++--- firmware/lib/msp430x2254.c | 5 +++++ 4 files changed, 20 insertions(+), 8 deletions(-) create mode 100644 firmware/lib/msp430x2254.c diff --git a/firmware/Makefile b/firmware/Makefile index e4b021f..f9f6f7d 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -16,12 +16,12 @@ mcu?=msp430x1612 GCCINC=-T ldscripts/$(mcu).x CCEXTRA?= -CC=msp430-gcc -Wall -Os -g -mmcu=$(mcu) -DGCC $(GCCINC) -I include $(CCEXTRA) +CC=msp430-gcc -Wall -Os -g -mmcu=$(mcu) -D$(mcu) -DGCC $(GCCINC) -I include $(CCEXTRA) #Define extra modules here. -moreapps?= +moreapps?=apps/i2c/i2c.o apps/chipcon/chipcon.o -apps= $(moreapps) apps/monitor/monitor.o apps/spi/spi.o apps/i2c/i2c.o apps/chipcon/chipcon.o apps/jtag/jtag.o apps/jtag/jtag430.o apps/jtag/jtag430x2.o apps/avr/avr.o +apps= $(moreapps) apps/monitor/monitor.o apps/spi/spi.o apps/jtag/jtag.o apps/jtag/jtag430.o apps/jtag/jtag430x2.o apps/avr/avr.o libs= lib/$(mcu).o lib/command.o apps/jtag/jtag430asm.o app= goodfet diff --git a/firmware/goodfet.c b/firmware/goodfet.c index 467ebae..b9485aa 100644 --- a/firmware/goodfet.c +++ b/firmware/goodfet.c @@ -30,8 +30,6 @@ void init(){ //Enable Interrupts. //eint(); - - } diff --git a/firmware/include/command.h b/firmware/include/command.h index 569dab2..be52d17 100644 --- a/firmware/include/command.h +++ b/firmware/include/command.h @@ -9,6 +9,14 @@ #define u16 unsigned int #define u32 unsigned long + +#ifdef msp430x2254 +//256 bytes, plus overhead +//For chips with very little RAM. +#define CMDDATALEN 0x104 +#warning Very little RAM. +#endif + #ifndef CMDDATALEN //512 bytes #define CMDDATALEN 0x204 @@ -64,12 +72,13 @@ extern unsigned char silent; #define OCT_CMP 0x90 #define OCT_RES 0x91 +#define WEAKDEF __attribute__ ((weak)) //! Handle a plugin, weak-linked to error. extern int pluginhandle(unsigned char app, unsigned char verb, unsigned int len) - __attribute__ ((weak)); + WEAKDEF; //! Handle a command. Defined in goodfet.c @@ -110,8 +119,8 @@ void msdelay(unsigned int ms); void monitorhandle(unsigned char, unsigned char, unsigned long); void spihandle(unsigned char, unsigned char, unsigned long); -void i2chandle(unsigned char, unsigned char, unsigned long); -void cchandle(unsigned char, unsigned char, unsigned long); +void i2chandle(unsigned char, unsigned char, unsigned long) WEAKDEF; +void cchandle(unsigned char, unsigned char, unsigned long) WEAKDEF; void jtaghandle(unsigned char, unsigned char, unsigned long); void jtag430handle(unsigned char, unsigned char, unsigned long); void jtag430x2handle(unsigned char app, unsigned char verb, diff --git a/firmware/lib/msp430x2254.c b/firmware/lib/msp430x2254.c new file mode 100644 index 0000000..566174c --- /dev/null +++ b/firmware/lib/msp430x2254.c @@ -0,0 +1,5 @@ + +//platform.h will handle patching Port 5 to be Port 3. + + +#include "msp430x2618.c" -- 2.20.1