# 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
-# jtagarm7 -- ARM7TDMI JTAG
# ejtag -- MIPS JTAG
# jtagxscale -- XScale JTAG
# openocd -- OpenOCD bitbang device
# pic -- PIC24H/dsPIC33F debugger
# adc -- ADC10 (still specific to x2274, GoodFET32)
-# Radios:
+# Radions:
# nrf -- Nordic RF SPI
# ccspi -- Chipcon SPI
+# cc2500 -- Chipcon SPI CC2500
+# atmel_radio -- Atmel radio
# Miscelaneous:
# glitch -- Glitch research tool
# your firmware. The "config" variable is just a space-delimited list
# of apps you want included. The makefile will take the list of apps
# and include all of the proper code needed to build your desired
-# firmware. This is generated by config.mk.
+# firmware. $(config) is generated by config.mk.
-# New default.
-# ifeq ($(platform),tilaunchpad)
-# config ?= monitor chipcon i2c
-# else
-# config ?= monitor chipcon spi jtag430 jtag430x2 avr openocd ccspi maxusb
-# endif
# Build the needed list of app and lib object files from the config
libs= lib/$(platform).o lib/command.o lib/apps.o lib/msp430_serial.o
#libs+=lib/setjmp.o
else
-libs= lib/$(mcu).o lib/command.o lib/dco_calib.o lib/apps.o lib/msp430.o lib/arduino.o
+libs= lib/$(mcu).o lib/command.o lib/dco_calib.o lib/apps.o lib/msp430.o lib/arduino.o $(extralibs)
endif
hdrs=
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 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
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
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
+endif
ifeq ($(platform),tilaunchpad)
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.
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
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