contiki/platform/exp5438/Makefile.exp5438

92 lines
2.8 KiB
Makefile

# $Id: Makefile.z1,v 1.4 2010/11/07 08:40:24 enricmcalvo Exp $
# msp430flasher -n msp430x5437 -w "Firmware.txt" -v -z [VCC]
ifndef IAR
GCC=1
endif
ifdef GCC
CFLAGS+=-Os -g
else
IAR=1
endif
ifdef IAR
CFLAGS+=-e --vla -Ohz --multiplier=32 --multiplier_location=4C0 --hw_workaround=CPU40 --core=430X --data_model small --double=32 -D__MSP430F5438A__
CFLAGS += --diag_suppress=Pa050
#CFLAGS+=--no_cse --no_unroll --no_inline --no_code_motion --no_tbaa --debug -D__MSP430F5438A__ -e --double=32 --dlib_config 'C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0 Evaluation\430\LIB\DLIB\dl430xsfn.h' --core=430X --data_model=small -Ol --multiplier=32 --multiplier_location=4C0 --hw_workaround=CPU40
endif
CLEAN += *.exp5438 symbols.c symbols.h
ARCH=msp430.c leds.c watchdog.c \
spix.c cc2420.c cc2420-arch.c \
rtimer-arch.c node-id.c leds-arch.c uart1x.c lcd.c \
hal_lcd.c hal_lcd_fonts.c duty-cycle-scroller.c cfs-ram.c
ifeq ($(WITH_SLIP),1)
ARCH += slip_uart0.c
else
ARCH += uart1-putchar.c
endif
ifdef NODEID
CFLAGS+=-DNODEID=$(NODEID)
ifdef BURN_NODEID
CFLAGS+=-DBURN_NODEID
endif # BURN_NODEID
endif # NODEID
help:
@echo A few useful make commands:
@echo make help - shows this help
@echo make TARGET=exp5438 savetarget - stores selection of target to avoid using TARGET= on every make invokation
@echo make program.upload - compiles and uploads program to connected board
@echo make program.upload GCC=1 - uses the mspgcc compiler instead of IAR
@echo make program.upload NODEID=x - uploads with node_id set to x
CONTIKI_TARGET_DIRS = . dev apps net
ifndef CONTIKI_TARGET_MAIN
CONTIKI_TARGET_MAIN = contiki-exp5438-main.c
endif
ifdef UIP_CONF_IPV6
CFLAGS += -DWITH_UIP6=1
endif
CONTIKI_TARGET_SOURCEFILES += $(ARCH) $(UIPDRIVERS)
ifdef IAR
MCU=msp430x5438a
else
MCU=msp430x5438
endif
include $(CONTIKI)/cpu/msp430/Makefile.msp430
contiki-$(TARGET).a: ${addprefix $(OBJECTDIR)/,symbols.o}
# $(AR) rcf $@ $^
ifdef IAR
STACKSIZE=300
LDFLAGS_ELF=-B -xm "$(IAR_PATH)/lib/dlib/dl430xsfn.r43" -f "$(IAR_PATH)/config/lnk430f5437.xcl" -l contiki-$(TARGET).map -Felf -yn -s __program_start -D_STACK_SIZE=$(STACKSIZE) -D_DATA16_HEAP_SIZE=$(STACKSIZE) -D_DATA20_HEAP_SIZE=$(STACKSIZE)
LDFLAGS_HEX=-B -xm "$(IAR_PATH)/lib/dlib/dl430xsfn.r43" -f "$(IAR_PATH)/config/lnk430f5437.xcl" -l contiki-$(TARGET).map -Fintel-extended -s __program_start -D_STACK_SIZE=$(STACKSIZE) -D_DATA16_HEAP_SIZE=$(STACKSIZE) -D_DATA20_HEAP_SIZE=$(STACKSIZE)
LDFLAGS+=$(LDFLAGS_ELF)
%.hex: %.co $(PROJECT_OBJECTFILES) $(PROJECT_LIBRARIES) contiki-$(TARGET).a
$(LD) $(LDFLAGS_HEX) $(TARGET_STARTFILES) ${filter-out %.a,$^} ${filter %.a,$^} $(TARGET_LIBFILES) -o $@
else
%.hex: %.ihex
mv $< $@
endif
%.upload: %.hex
msp430flasher -n msp430x5438a -e ERASE_MAIN -w $< -v -z [VCC]
%.upload-clean: %.hex
msp430flasher -n msp430x5438a -w $< -v -z [VCC]