Fixed USB host bugs.
[goodfet] / firmware / Makefile
index 49dbf99..5e2c5a3 100644 (file)
@@ -37,11 +37,11 @@ CC =$(GCC) -Wall -O1 -fno-strict-aliasing -g   $(CCEXTRA)
 # ALPHA:
 # jtag430 -- 16-bit MSP430 JTAG
 # jtag430x2 -- 20-bit MSP430 JTAG
 # ALPHA:
 # jtag430 -- 16-bit MSP430 JTAG
 # jtag430x2 -- 20-bit MSP430 JTAG
+# jtagarm7 -- ARM7TDMI JTAG
 
 # PRE-ALPHA:
 #  Bus protocols:
 # i2c -- Turns GF into USB-to-i2c adapter
 
 # PRE-ALPHA:
 #  Bus protocols:
 # i2c -- Turns GF into USB-to-i2c adapter
-# jtagarm7 -- ARM7TDMI JTAG
 # ejtag -- MIPS JTAG
 # jtagxscale -- XScale JTAG
 # openocd -- OpenOCD bitbang device
 # ejtag -- MIPS JTAG
 # jtagxscale -- XScale JTAG
 # openocd -- OpenOCD bitbang device
@@ -52,9 +52,11 @@ CC =$(GCC) -Wall -O1 -fno-strict-aliasing -g   $(CCEXTRA)
 # pic -- PIC24H/dsPIC33F debugger
 # adc -- ADC10 (still specific to x2274, GoodFET32)
 
 # pic -- PIC24H/dsPIC33F debugger
 # adc -- ADC10 (still specific to x2274, GoodFET32)
 
-#  Radios:
+#  Radions:
 # nrf -- Nordic RF SPI
 # ccspi -- Chipcon SPI
 # nrf -- Nordic RF SPI
 # ccspi -- Chipcon SPI
+# cc2500 -- Chipcon SPI CC2500
+# atmel_radio -- Atmel radio
 
 # Miscelaneous:
 # glitch -- Glitch research tool
 
 # Miscelaneous:
 # glitch -- Glitch research tool
@@ -260,12 +262,24 @@ ifeq ($(filter ccspi, $(config)), ccspi)
        hdrs+= ccspi.h
 endif
 
        hdrs+= ccspi.h
 endif
 
+# include chipcon CC2500 radio spi app
+ifeq ($(filter cc2500, $(config)), cc2500)
+       apps+= apps/radios/cc2500.o
+       hdrs+= cc2500.h
+endif
+
 # include nrf app
 ifeq ($(filter nrf, $(config)), nrf)
        apps+= apps/radios/nrf.o
        hdrs+= nrf.h
 endif
 
 # include nrf app
 ifeq ($(filter nrf, $(config)), nrf)
        apps+= apps/radios/nrf.o
        hdrs+= nrf.h
 endif
 
+# include atmel_radio app
+ifeq ($(filter atmel_radio, $(config)), atmel_radio)
+       apps+= apps/radios/atmel_radio.o
+       hdrs+= atmel_radio.h
+endif
+
 # include glitch app
 ifeq ($(filter glitch, $(config)), glitch)
        apps+= apps/glitch/glitch.o
 # include glitch app
 ifeq ($(filter glitch, $(config)), glitch)
        apps+= apps/glitch/glitch.o
@@ -278,10 +292,10 @@ ifeq ($(filter smartcard, $(config)), smartcard)
        hdrs+= smartcard.h
 endif
 
        hdrs+= smartcard.h
 endif
 
-# include ps2 app
-ifeq ($(filter ps2, $(config)), ps2)
-       apps+= apps/plugins/ps2.o
-       hdrs+= ps2.h
+# include plugin app
+ifeq ($(filter plugin, $(config)), plugin)
+       apps+= apps/plugin.o
+       hdrs+= plugin.h
 endif
 
 # include jscan app
 endif
 
 # include jscan app
@@ -316,7 +330,11 @@ run:
 
 avrinstall: $(app).hex
        #to be merged
 
 avrinstall: $(app).hex
        #to be merged
+ifdef AVR_PLATFORM
+       avrdude -V -F -c stk500v1 -p $(AVR_PLATFORM) -b 57600 -P $(GOODFET) -U flash:w:$(app).hex
+else
        avrdude -V -F -c stk500v1 -p m328p -b 57600 -P $(GOODFET) -U flash:w:$(app).hex
        avrdude -V -F -c stk500v1 -p m328p -b 57600 -P $(GOODFET) -U flash:w:$(app).hex
+endif
 
 ifeq ($(platform),tilaunchpad)
 install: $(app).hex
 
 ifeq ($(platform),tilaunchpad)
 install: $(app).hex
@@ -327,6 +345,10 @@ erase:
        $(JTAG) -e $(app).hex
 else
 install: $(app).hex
        $(JTAG) -e $(app).hex
 else
 install: $(app).hex
+       #Note that 'make install' no longer erases the chip.
+       #Use 'make reinstall' if you want that.
+       $(MSP430BSL) -p $(app).hex
+reinstall: $(app).hex
        $(MSP430BSL) -e -p $(app).hex
 installinfo:
        $(MSP430BSL) -P $(app).hex -p info.txt || true  #MSP430F2xx targets only, inelegant.
        $(MSP430BSL) -e -p $(app).hex
 installinfo:
        $(MSP430BSL) -P $(app).hex -p info.txt || true  #MSP430F2xx targets only, inelegant.
@@ -339,8 +361,10 @@ endif
 dumpinfo:
        $(MSP430BSL) --dumpinfo
 $(app).c: config builddate appsfiles err
 dumpinfo:
        $(MSP430BSL) --dumpinfo
 $(app).c: config builddate appsfiles err
-$(app): $(app).c $(libs) $(apps) 
-
+$(app): $(app).o $(libs) $(apps) 
+armlink: $(app).o $(libs) $(apps) $(platformlibs)
+       arm-none-eabi-ld -v -Tlinkers/stm32f407.cmd -nostartfiles -o goodfet.elf $(app).o $(libs) $(apps)
+       arm-none-eabi-objcopy -Obinary goodfet.elf goodfet.bin
 ifeq ($(platform),donbfet)
 $(app).hex: $(app)
        avr-objcopy -j .text -j .data -O ihex goodfet goodfet.hex
 ifeq ($(platform),donbfet)
 $(app).hex: $(app)
        avr-objcopy -j .text -j .data -O ihex goodfet goodfet.hex
@@ -351,7 +375,7 @@ endif
 m4s: $(app).hex
        msp430-objdump -D -m msp430 $(app).hex | m4s init
 clean:
 m4s: $(app).hex
        msp430-objdump -D -m msp430 $(app).hex | m4s init
 clean:
-       rm -f $(app) $(app).hex $(libs) $(apps) lib/apps.c include/config.h include/builddate.h include/apps.h
+       rm -f *.o $(app) $(app).hex $(libs) $(apps) lib/apps.c include/config.h include/builddate.h include/apps.h
 docs:
        doxygen
 pushdocs: docs
 docs:
        doxygen
 pushdocs: docs