JTAGARM7 is back up and running, folks! Tested Halt/Release, Get/Set Registers,...
[goodfet] / firmware / config.mk
index 773e3d2..d9c077c 100644 (file)
@@ -2,13 +2,29 @@
 ## These are production boards.
 ##################################
 
+#Unset by default, but can be explicitly overwritten.
+config ?= undef
+
+ifneq (,$(findstring $(board),apimote1 apimote))
+mcu ?= msp430f2618
+platform := apimote
+config := monitor spi ccspi
+MSP430BSL?=goodfet.bsl --speed=38400 --swap-reset-test
+CFLAGS += -Duseuart1 -Dapimote
+endif
+
+ifneq (,$(findstring $(board),goodthopter01 goodthopter10 goodthopter11))
+mcu ?= msp430f2274
+platform := goodfet
+config := monitor spi
+endif
 
 ifneq (,$(findstring $(board),goodfet20 goodfet10 goodfet11))
-mcu ?= msp430f1612
+mcu ?= msp430f1611
 platform := goodfet
 endif
 
-ifneq (,$(findstring $(board),goodfet21))
+ifneq (,$(findstring $(board),goodfet21,goodfet22))
 mcu ?= msp430f2618
 platform := goodfet
 endif
@@ -18,16 +34,71 @@ mcu ?= msp430f2274
 platform := goodfet
 # This will link to fit in a '2254, so unneeded packages should be omited.
 CONFIG_ccspi = n
+CONFIG_nrf = y
 endif
 
 ifneq (,$(findstring $(board),goodfet40 goodfet41))
 mcu ?= msp430f2618
 platform := goodfet
+CONFIG_nrf = y
+endif
+
+ifneq (,$(findstring $(board),stm32f4discovery))
+
+periph ?= /opt/STM32F4xx_StdPeriph_Driver
+discovery ?= /opt/STM32F4-Discovery_FW_V1.1.0
+
+usbcore ?= $(discovery)/Libraries/STM32_USB_Device_Library/Core
+usbsrc ?= $(usbcore)/src
+otginc ?= /opt/STM32F4-Discovery_FW_V1.1.0/Libraries/STM32_USB_OTG_Driver/inc
+otgsrc ?= /opt/STM32F4-Discovery_FW_V1.1.0/Libraries/STM32_USB_OTG_Driver/src
+
+pincs ?=  -I$(periph)/inc -I$(usbcore)/inc -I$(otginc) -I$(discovery)/Libraries/CMSIS/ST/STM32F4xx/Include  -I$(discovery)/Libraries/CMSIS/Include -Dassert_param\(x\)= -DUSE_USB_OTG_FS -I/opt/STM32F4-Discovery_FW_V1.1.0/Utilities/STM32F4-Discovery
+psrc ?=  /opt/STM32F4xx_StdPeriph_Driver/src
+
+
+GCC     = arm-none-eabi-gcc
+CC      = arm-none-eabi-gcc
+LD      = arm-none-eabi-ld -v
+AR      = arm-none-eabi-ar
+AS      = arm-none-eabi-as
+CP      = arm-none-eabi-objcopy
+OD     = arm-none-eabi-objdump
+CFLAGS  = -c -fno-common -O1 -g -mcpu=cortex-m3 -mthumb $(pincs)
+AFLAGS  = -ahls -mapcs-32
+LFLAGS  = -Ttmplink.cmd -nostartfiles
+CPFLAGS = -Obinary
+ODFLAGS        = -S
+LDFLAGS = 
+
+
+mcu ?= stm32f407
+platform := stm32f4discovery
+config = monitor
+
+# This is a pain.
+#usblibs =  $(usbsrc)/usbd_core.o $(usbsrc)/usbd_req.o $(usbsrc)/usbd_ioreq.o $(usbsrc)/usbd_core.o $(otgsrc)/usb_dcd.o $(otgsrc)/usb_dcd_int.o $(otgsrc)/usb_hcd.o $(otgsrc)/usb_hcd_int.o $(otgsrc)/usb_otg.o
+extralibs = lib/cortexm3.o lib/system_stm32f4xx.o lib/stm32f4xx_rcc.o $(psrc)/stm32f4xx_gpio.o $(psrc)/stm32f4xx_usart.o $(usblibs) 
+
+endif
+
+ifneq (,$(findstring $(board),facedancer10 facedancer11))
+mcu ?= msp430f2618
+platform := goodfet
+config = monitor spi maxusb
+endif
+
+ifeq ($(board),z1)
+mcu ?= msp430f2617
+platform := z1
+config = monitor spi ccspi
+MSP430BSL?=goodfet.bsl --z1  --speed=38400
 endif
 
 ifneq (,$(findstring $(board),goodfet24))
 mcu ?= msp430f2618
 platform := goodfet
+CONFIG_glitch = y
 endif
 
 ifneq (,$(findstring $(board),nhb12b))
@@ -69,8 +140,10 @@ endif
 
 ifneq (,$(findstring $(board),donbfet))
 GCC := avr-gcc
+CC := avr-gcc
 mcu ?= atmega644p
-CFLAGS=$(DEBUG) -mmcu=$(mcu) -W -Os -mcall-prologues -Wall -Wextra -Wuninitialized -fpack-struct -fshort-enums -funsigned-bitfields
+platform = donbfet
+CFLAGS=$(DEBUG) -Iinclude -mmcu=$(mcu) -W -Os -mcall-prologues -Wall -Wextra -Wuninitialized -fpack-struct -fshort-enums -funsigned-bitfields
 config := monitor avr spi jscan
 endif
 
@@ -85,7 +158,7 @@ endif
 ifneq (,$(findstring $(board),tilaunchpad))
 mcu ?=msp430f1612
 CFLAGS := -DDEBUG_LEVEL=3 -DDEBUG_START=1 -DINBAND_DEBUG
-CFLAGS+= -Werror -Wall
+CFLAGS+= -Wall
 config := monitor chipcon i2c
 endif
 
@@ -97,17 +170,18 @@ $(error Please define board, as explained in the README)
 endif
 #platform := $(board)
 
-AVAILABLE_APPS = monitor spi jtag sbw jtag430 jtag430x2 i2c jtagarm7 ejtag jtagxscale openocd chipcon avr pic adc nrf ccspi glitch smartcard ps2 slc2 
+AVAILABLE_APPS = monitor spi jtag sbw jtag430 jtag430x2 i2c jtagarm7 ejtag jtagxscale openocd chipcon avr pic adc nrf ccspi glitch smartcard ps2 slc2  maxusb
 
 # defaults
 CONFIG_monitor    ?= y
 CONFIG_spi        ?= y
+CONFIG_maxusb     ?= y
 CONFIG_jtag       ?= n
 CONFIG_sbw        ?= n
 CONFIG_jtag430    ?= y
 CONFIG_jtag430x2  ?= y
 CONFIG_i2c        ?= n
-CONFIG_jtagarm7   ?= n
+CONFIG_jtagarm7   ?= y
 CONFIG_ejtag      ?= n
 CONFIG_jtagxscale ?= n
 CONFIG_openocd    ?= y
@@ -116,13 +190,13 @@ CONFIG_avr        ?= y
 CONFIG_pic        ?= n
 CONFIG_adc        ?= n
 CONFIG_nrf        ?= n
-CONFIG_ccspi      ?= y
+CONFIG_ccspi      ?= n
 CONFIG_glitch     ?= n
 CONFIG_smartcard  ?= n
 CONFIG_ps2        ?= n
 CONFIG_slc2       ?= n
 
-#The CONFIG_foo vars are only interpreted if $(config) is unset.
+#The CONFIG_foo vars are only interpreted if $(config) is "unset".
 ifeq ($(config),undef)
 config += $(foreach app,$(AVAILABLE_APPS),$(if $(findstring $(CONFIG_$(app)),y yes t true Y YES T TRUE),$(app)))
 endif