diff --git a/boards/Makefile.include.msp430_common b/boards/Makefile.include.msp430_common new file mode 100644 index 0000000000..385f771f10 --- /dev/null +++ b/boards/Makefile.include.msp430_common @@ -0,0 +1,21 @@ +# default toolchain prefix +export PREFIX ?= msp430- + +# define build specific options +CFLAGS_CPU = -mmcu=$(CPU_MODEL) +CFLAGS_STYLE = -std=gnu99 -Wall -Wstrict-prototypes +CFLAGS_LINK = +CFLAGS_DBG = -gdwarf-2 +CFLAGS_OPT ?= -Os +# export compiler flags +export CFLAGS += $(CFLAGS_CPU) $(CFLAGS_STYLE) $(CFLAGS_LINK) $(CFLAGS_DBG) $(CFLAGS_OPT) +# export assmebly flags +export ASFLAGS += $(CFLAGS_CPU) --defsym $(CPU_MODEL)=1 $(CFLAGS_DEBUG) +# export linker flags +export LINKFLAGS += $(CFLAGS_CPU) -lgcc + +# Import all toolchain settings +include $(RIOTBOARD)/Makefile.include.gnu + +# export board specific includes to the global includes-listing +export INCLUDES += -I$(RIOTBOARD)/$(BOARD)/include diff --git a/boards/chronos/Makefile.dep b/boards/chronos/Makefile.dep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/boards/chronos/Makefile.include b/boards/chronos/Makefile.include index 27d2d47f30..c09da24996 100644 --- a/boards/chronos/Makefile.include +++ b/boards/chronos/Makefile.include @@ -1,25 +1,11 @@ -export INCLUDES += -I$(RIOTBOARD)/$(BOARD)/include - ## the cpu to build for export CPU = cc430 -export MCU = cc430f6137 +export CPU_MODEL = cc430f6137 -# toolchain config -export PREFIX = msp430- -export CC = $(PREFIX)gcc -export AR = $(PREFIX)ar -export CFLAGS += -Wstrict-prototypes -gdwarf-2 -Os -Wall -mmcu=$(MCU) -D CC430 -export ASFLAGS += -mmcu=$(MCU) --defsym $(MCU)=1 --gdwarf-2 -export AS = $(PREFIX)as -export LINK = $(PREFIX)gcc -export SIZE = $(PREFIX)size -export OBJCOPY = $(PREFIX)objcopy -export LINKFLAGS += -mmcu=$(MCU) -lgcc $(BINDIR)msp430_common/startup.o -export FLASHER = mspdebug -export USEMODULE += msp430_common -export FFLAGS = rf2500 "prog $(HEXFILE)" +# flasher configuration export OFLAGS = -O ihex +export FLASHER = mspdebug +export FFLAGS = rf2500 "prog $(HEXFILE)" -export UNDEF += $(BINDIR)msp430_common/startup.o - -include $(RIOTBOARD)/$(BOARD)/Makefile.dep +# include msp430 base makefile +include $(RIOTBOARD)/Makefile.include.msp430_common diff --git a/boards/msb-430-common/Makefile.include b/boards/msb-430-common/Makefile.include index 62162174c5..14a69653e7 100644 --- a/boards/msb-430-common/Makefile.include +++ b/boards/msb-430-common/Makefile.include @@ -1,37 +1,32 @@ ## the cpu to build for export CPU = msp430fxyz -export MCU = msp430f1612 +export CPU_MODEL = msp430f1612 -# toolchain config -export PREFIX = msp430- -export CC = $(PREFIX)gcc -export AR = $(PREFIX)ar -export CFLAGS += -Wstrict-prototypes -gdwarf-2 -Os -Wall -mmcu=$(MCU) -export ASFLAGS += -mmcu=$(MCU) --defsym $(MCU)=1 --gdwarf-2 -export AS = $(PREFIX)as -export LINK = $(PREFIX)gcc -export SIZE = $(PREFIX)size -export OBJCOPY = $(PREFIX)objcopy -export LINKFLAGS += -mmcu=$(MCU) -lgcc -TERMPROG = $(RIOTBASE)/dist/tools/pyterm/pyterm +# set default port depending on operating system +PORT_LINUX ?= /dev/ttyUSB0 +PORT_DARWIN ?= $(shell ls -1 /dev/tty.SLAB_USBtoUART* | head -n 1) +# setup serial terminal +include $(RIOTBOARD)/Makefile.include.serial -export FLASHER ?= mspdebug -export PORT ?= /dev/ttyUSB0 +# setup flash tool +export OFLAGS = -O ihex export PROGRAMMER ?= olimex export MSPDEBUGFLAGS += -j $(PROGRAMMER) ifeq ($(strip $(PROGRAMMER)),uif) - export MSPDEBUGFLAGS += -d $(PORT) + export MSPDEBUGFLAGS += -d $(PORT) endif +export FLASHER ?= mspdebug +export FFLAGS = $(MSPDEBUGFLAGS) "prog $(HEXFILE)" + +# setup debugger export DEBUGSERVER = $(FLASHER) export DEBUGSERVER_FLAGS = $(MSPDEBUGFLAGS) gdb export DEBUGGER = $(PREFIX)gdb export DEBUGGER_FLAGS = --tui --ex="target remote localhost:2000" --ex "monitor reset halt" --ex load -ex "monitor reset halt" $(ELFFILE) -export TERMFLAGS += -p "$(PORT)" -export FFLAGS = $(MSPDEBUGFLAGS) "prog $(HEXFILE)" +# include msp430 base makefile +include $(RIOTBOARD)/Makefile.include.msp430_common -export USEMODULE += msp430_common -export INCLUDES += -I$(RIOTCPU)/msp430-common/include/ -I$(RIOTBOARD)/msb-430-common/include -I$(RIOTBOARD)/msb-430-common/drivers/include -export OFLAGS = -O ihex - -export UNDEF += $(BINDIR)msp430_common/startup.o +# export msb-430-common includes +export INCLUDES += -I$(RIOTBOARD)/msb-430-common/include +export INCLUDES += -I$(RIOTBOARD)/msb-430-common/drivers/include diff --git a/boards/msb-430/Makefile.include b/boards/msb-430/Makefile.include index b16394458f..c42b46b063 100644 --- a/boards/msb-430/Makefile.include +++ b/boards/msb-430/Makefile.include @@ -1,2 +1 @@ -export INCLUDES += -I$(RIOTBOARD)/msb-430/include include $(RIOTBOARD)/msb-430-common/Makefile.include diff --git a/boards/msb-430h/Makefile.dep b/boards/msb-430h/Makefile.dep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/boards/msb-430h/Makefile.include b/boards/msb-430h/Makefile.include index 10ae080875..c42b46b063 100644 --- a/boards/msb-430h/Makefile.include +++ b/boards/msb-430h/Makefile.include @@ -1,4 +1 @@ -export INCLUDES += -I$(RIOTBOARD)/msb-430h/include -include $(RIOTBOARD)/$(BOARD)/Makefile.dep - include $(RIOTBOARD)/msb-430-common/Makefile.include diff --git a/boards/telosb/Makefile.dep b/boards/telosb/Makefile.dep deleted file mode 100644 index 4e36d0ff56..0000000000 --- a/boards/telosb/Makefile.dep +++ /dev/null @@ -1 +0,0 @@ -USEMODULE += msp430_common diff --git a/boards/telosb/Makefile.include b/boards/telosb/Makefile.include index 1abab2c6ca..a2aaff06aa 100644 --- a/boards/telosb/Makefile.include +++ b/boards/telosb/Makefile.include @@ -1,29 +1,17 @@ -include $(RIOTBOARD)/$(BOARD)/Makefile.dep ## the cpu to build for export CPU = msp430fxyz -export MCU = msp430f1611 +export CPU_MODEL = msp430f1611 -# toolchain config -export PREFIX = msp430- -export CC = $(PREFIX)gcc -export AR = $(PREFIX)ar -export CFLAGS += -Wstrict-prototypes -gdwarf-2 -Os -Wall -mmcu=$(MCU) -export ASFLAGS += -mmcu=$(MCU) --defsym $(MCU)=1 --gdwarf-2 -export AS = $(PREFIX)as -export LINK = $(PREFIX)gcc -export SIZE = $(PREFIX)size -export OBJCOPY = $(PREFIX)objcopy -export LINKFLAGS += -mmcu=$(MCU) -lgcc $(BINDIR)msp430_common/startup.o -export TERMPROG = $(RIOTBASE)/dist/tools/pyterm/pyterm -export FLASHER = $(RIOTBASE)/dist/tools/goodfet/goodfet.bsl -ifeq ($(strip $(PORT)),) - export PORT = /dev/ttyUSB0 -endif -export FFLAGS = --telosb -c $(PORT) -r -e -I -p $(HEXFILE) -export TERMFLAGS += -p "$(PORT)" +# set default port depending on operating system +PORT_LINUX ?= /dev/ttyUSB0 +PORT_DARWIN ?= $(shell ls -1 /dev/tty.SLAB_USBtoUART* | head -n 1) +# setup serial terminal +include $(RIOTBOARD)/Makefile.include.serial -export INCLUDES += -I$(RIOTCPU)/$(CPU)/include/ -I$(RIOTBOARD)/$(BOARD)/include/ -export INCLUDES += -I$(RIOTCPU)/msp430-common/include +# flash tool configuration export OFLAGS = -O ihex +export FLASHER = $(RIOTBASE)/dist/tools/goodfet/goodfet.bsl +export FFLAGS = --telosb -c $(PORT) -r -e -I -p $(HEXFILE) -export UNDEF += $(BINDIR)msp430_common/startup.o +# include msp430 base makefile +include $(RIOTBOARD)/Makefile.include.msp430_common diff --git a/boards/wsn430-common/Makefile.include b/boards/wsn430-common/Makefile.include index 5d644df4d9..641220d8af 100644 --- a/boards/wsn430-common/Makefile.include +++ b/boards/wsn430-common/Makefile.include @@ -1,25 +1,20 @@ ## the cpu to build for export CPU = msp430fxyz -export MCU = msp430f1611 +export CPU_MODEL = msp430f1611 -# toolchain config -export PREFIX = msp430- -export CC = $(PREFIX)gcc -export AR = $(PREFIX)ar -export CFLAGS += -Wstrict-prototypes -gdwarf-2 -Os -Wall -mmcu=$(MCU) -export ASFLAGS += -mmcu=$(MCU) --defsym $(MCU)=1 --gdwarf-2 -export AS = $(PREFIX)as -export LINK = $(PREFIX)gcc -export SIZE = $(PREFIX)size -export OBJCOPY = $(PREFIX)objcopy -export LINKFLAGS += -mmcu=$(MCU) -lgcc $(BINDIR)msp430_common/startup.o +# set default port depending on operating system +PORT_LINUX ?= /dev/ttyUSB0 +PORT_DARWIN ?= $(shell ls -1 /dev/tty.SLAB_USBtoUART* | head -n 1) +# setup serial terminal +include $(RIOTBOARD)/Makefile.include.serial + +# setup flash tool +export OFLAGS = -O ihex export FLASHER = mspdebug -ifeq ($(strip $(PORT)),) - export PORT = /dev/ttyUSB0 -endif export FFLAGS = -d $(PORT) -j uif "prog $(HEXFILE)" -export INCLUDES += -I$(RIOTBOARD)/wsn430-common/include -export OFLAGS = -O ihex +# include msp430 base makefile +include $(RIOTBOARD)/Makefile.include.msp430_common -export UNDEF += $(BINDIR)msp430_common/startup.o +# include wsn430-common includes +export INCLUDES += -I$(RIOTBOARD)/wsn430-common/include diff --git a/boards/wsn430-v1_3b/Makefile.dep b/boards/wsn430-v1_3b/Makefile.dep deleted file mode 100644 index 4e36d0ff56..0000000000 --- a/boards/wsn430-v1_3b/Makefile.dep +++ /dev/null @@ -1 +0,0 @@ -USEMODULE += msp430_common diff --git a/boards/wsn430-v1_3b/Makefile.include b/boards/wsn430-v1_3b/Makefile.include index ed87f884e3..906b27f0cc 100644 --- a/boards/wsn430-v1_3b/Makefile.include +++ b/boards/wsn430-v1_3b/Makefile.include @@ -1,4 +1 @@ -export INCLUDES += -I$(RIOTBOARD)/wsn430-v1_3b/include - -include $(RIOTBOARD)/$(BOARD)/Makefile.dep include $(RIOTBOARD)/wsn430-common/Makefile.include diff --git a/boards/wsn430-v1_4/Makefile.dep b/boards/wsn430-v1_4/Makefile.dep deleted file mode 100644 index 4e36d0ff56..0000000000 --- a/boards/wsn430-v1_4/Makefile.dep +++ /dev/null @@ -1 +0,0 @@ -USEMODULE += msp430_common diff --git a/boards/wsn430-v1_4/Makefile.include b/boards/wsn430-v1_4/Makefile.include index b8e4e4a3b9..906b27f0cc 100644 --- a/boards/wsn430-v1_4/Makefile.include +++ b/boards/wsn430-v1_4/Makefile.include @@ -1,4 +1 @@ -export INCLUDES += -I$(RIOTBOARD)/wsn430-v1_4/include -I$(RIOTBOARD)/wsn430-common/include - -include $(RIOTBOARD)/$(BOARD)/Makefile.dep include $(RIOTBOARD)/wsn430-common/Makefile.include diff --git a/boards/z1/Makefile.dep b/boards/z1/Makefile.dep deleted file mode 100644 index 4e36d0ff56..0000000000 --- a/boards/z1/Makefile.dep +++ /dev/null @@ -1 +0,0 @@ -USEMODULE += msp430_common diff --git a/boards/z1/Makefile.include b/boards/z1/Makefile.include index d2546b2de3..cacdf64530 100644 --- a/boards/z1/Makefile.include +++ b/boards/z1/Makefile.include @@ -1,29 +1,17 @@ -include $(RIOTBOARD)/$(BOARD)/Makefile.dep -## the cpu to build for +# CPU used by this board export CPU = msp430fxyz -export MCU = msp430f2617 +export CPU_MODEL = msp430f2617 -# toolchain config -export PREFIX = msp430- -export CC = $(PREFIX)gcc -export AR = $(PREFIX)ar -export CFLAGS += -std=c99 -Wstrict-prototypes -gdwarf-2 -Os -Wall -mmcu=$(MCU) -export ASFLAGS += -mmcu=$(MCU) --defsym $(MCU)=1 --gdwarf-2 -export AS = $(PREFIX)as -export LINK = $(PREFIX)gcc -export SIZE = $(PREFIX)size -export OBJCOPY = $(PREFIX)objcopy -export LINKFLAGS += -mmcu=$(MCU) -lgcc $(BINDIR)msp430_common/startup.o -export TERMPROG = $(RIOTBASE)/dist/tools/pyterm/pyterm -export FLASHER = $(RIOTBASE)/dist/tools/goodfet/goodfet.bsl -export FFLAGS = --z1 -I -c $(PORT) -r -e -p $(HEXFILE) -export OFLAGS = -O ihex - -export PORT_LINUX ?= /dev/ttyUSB0 -export PORT_DARWIN ?= /dev/tty.SLAB_USBtoUART +# set default port depending on operating system +PORT_LINUX ?= /dev/ttyUSB0 +PORT_DARWIN ?= $(shell ls -1 /dev/tty.SLAB_USBtoUART* | head -n 1) +# setup serial terminal include $(RIOTBOARD)/Makefile.include.serial -export INCLUDES += -I$(RIOTCPU)/$(CPU)/include/ -I$(RIOTBOARD)/$(BOARD)/include/ -export INCLUDES += -I $(RIOTCPU)/msp430-common/include +# setup flash tool +export OFLAGS = -O ihex +export FLASHER = $(RIOTBASE)/dist/tools/goodfet/goodfet.bsl +export FFLAGS = --z1 -I -c $(PORT) -r -e -p $(HEXFILE) -export UNDEF += $(BINDIR)msp430_common/startup.o +# include the msp430 common Makefile +include $(RIOTBOARD)/Makefile.include.msp430_common diff --git a/cpu/msp430-common/Makefile.include b/cpu/msp430-common/Makefile.include index 02ed2b915e..482487382c 100644 --- a/cpu/msp430-common/Makefile.include +++ b/cpu/msp430-common/Makefile.include @@ -1,3 +1,6 @@ -INCLUDES += -I$(RIOTBASE)/cpu/msp430-common/include/ +INCLUDES += -I$(RIOTCPU)/msp430-common/include/ + +export UNDEF += $(BINDIR)msp430_common/startup.o +export USEMODULE += msp430_common DEFAULT_MODULE += oneway_malloc diff --git a/cpu/msp430fxyz/Makefile.include b/cpu/msp430fxyz/Makefile.include index ed293901b8..a57b28630d 100644 --- a/cpu/msp430fxyz/Makefile.include +++ b/cpu/msp430fxyz/Makefile.include @@ -2,6 +2,4 @@ INCLUDES += -I$(RIOTCPU)/msp430fxyz/include/ include $(RIOTCPU)/msp430-common/Makefile.include -USEMODULE += periph - -export USEMODULE +export USEMODULE += periph