100 lines
3.5 KiB
Makefile
100 lines
3.5 KiB
Makefile
CPU_ABS_PATH = arch/cpu/cc26x0-cc13x0
|
|
TI_XXWARE = $(CONTIKI_CPU)/$(TI_XXWARE_PATH)
|
|
|
|
ifeq (,$(wildcard $(TI_XXWARE)/*))
|
|
$(warning $(TI_XXWARE) does not exist or is empty.)
|
|
$(warning Did you run 'git submodule update --init' ?)
|
|
$(error "")
|
|
endif
|
|
|
|
### cc26xxware / cc26x0r2fware sources under driverlib will be added to the
|
|
### MODULES list
|
|
TI_XXWARE_SRC = $(CPU_ABS_PATH)/$(TI_XXWARE_PATH)/driverlib
|
|
|
|
### The directory with startup sources will be added to the CONTIKI_CPU_DIRS
|
|
### and the sources therein are added to the sources list explicitly. They are
|
|
### also listed explicitly in the linker command (through TARGET_STARTFILES),
|
|
### to make sure they always get linked in the image
|
|
TI_XXWARE_STARTUP_DIR = $(TI_XXWARE_PATH)/startup_files
|
|
TI_XXWARE_STARTUP_SRCS = ccfg.c startup_gcc.c
|
|
|
|
### MODULES will add some of these to the include path, but we need to add
|
|
### them earlier to prevent filename clashes with Contiki core files
|
|
CFLAGS += -I$(TI_XXWARE) -I$(CONTIKI)/$(TI_XXWARE_SRC)
|
|
CFLAGS += -I$(TI_XXWARE)/inc
|
|
MODULES += $(TI_XXWARE_SRC)
|
|
|
|
LDSCRIPT = $(CONTIKI_CPU)/cc26xx.ld
|
|
|
|
### If the user-specified a Node ID, pass a define
|
|
ifdef NODEID
|
|
CFLAGS += -DIEEE_ADDR_NODE_ID=$(NODEID)
|
|
endif
|
|
|
|
### CPU-dependent directories
|
|
CONTIKI_CPU_DIRS += . dev rf-core rf-core/api rf-core/ble-hal $(TI_XXWARE_STARTUP_DIR)
|
|
|
|
### CPU-dependent source files
|
|
CONTIKI_CPU_SOURCEFILES += clock.c rtimer-arch.c soc-rtc.c uart.c
|
|
CONTIKI_CPU_SOURCEFILES += contiki-watchdog.c aux-ctrl.c
|
|
CONTIKI_CPU_SOURCEFILES += dbg.c ieee-addr.c batmon-sensor.c adc-sensor.c
|
|
CONTIKI_CPU_SOURCEFILES += slip-arch.c slip.c cc26xx-uart.c lpm.c
|
|
CONTIKI_CPU_SOURCEFILES += gpio-interrupt.c gpio-hal-arch.c oscillators.c
|
|
CONTIKI_CPU_SOURCEFILES += rf-core.c rf-ble.c ieee-mode.c
|
|
CONTIKI_CPU_SOURCEFILES += ble-cc2650.c ble-hal-cc26xx.c ble-addr.c rf-ble-cmd.c
|
|
CONTIKI_CPU_SOURCEFILES += random.c soc-trng.c int-master.c
|
|
CONTIKI_CPU_SOURCEFILES += spi-arch.c
|
|
|
|
CONTIKI_SOURCEFILES += $(CONTIKI_CPU_SOURCEFILES)
|
|
|
|
CPU_START_SOURCEFILES += fault-handlers.c $(TI_XXWARE_STARTUP_SRCS)
|
|
|
|
PYTHON = python
|
|
BSL_FLAGS += -e -w -v
|
|
|
|
ifdef PORT
|
|
BSL_FLAGS += -p $(PORT)
|
|
endif
|
|
|
|
BSL = $(CONTIKI)/tools/cc2538-bsl/cc2538-bsl.py
|
|
|
|
### Always re-build ieee-addr.o in case the command line passes a new NODEID
|
|
FORCE:
|
|
|
|
$(OBJECTDIR)/ieee-addr.o: ieee-addr.c FORCE | $(OBJECTDIR)
|
|
$(TRACE_CC)
|
|
$(Q)$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
### Always re-build ccfg.c so changes to ccfg-conf.h will apply without having
|
|
### to make clean first
|
|
$(OBJECTDIR)/ccfg.o: ccfg.c FORCE | $(OBJECTDIR)
|
|
$(TRACE_CC)
|
|
$(Q)$(CC) $(CFLAGS) -include "ccxxware-conf.h" -c $< -o $@
|
|
|
|
# a target that gives a user-friendly memory profile, taking into account the RAM
|
|
# that is statically occupied by the stack as defined in the linker script
|
|
# see $(LDSCRIPT)
|
|
RAM_SIZE = 0x00003E00
|
|
FLASH_SIZE = 0x0001E000
|
|
STACK_SIZE = 0
|
|
%.size: %.$(TARGET)
|
|
@$(SIZE) -A $< | egrep "data|bss" | awk '{s+=$$2} END {s=s+$(STACK_SIZE); f=$(RAM_SIZE)-s; printf "[RAM] used %6d, free %6d\n",s,f;}'
|
|
@$(SIZE) -A $< | egrep "text|isr_vector" | awk '{s+=$$2} END {f=$(FLASH_SIZE)-s; printf "[Flash] used %6d, free %6d\n",s,f;}'
|
|
|
|
ifeq ($(BOARD_SUPPORTS_BSL),1)
|
|
%.upload: %.bin
|
|
ifeq ($(wildcard $(BSL)), )
|
|
@echo "ERROR: Could not find the cc2538-bsl script. Did you run 'git submodule update --init' ?"
|
|
else
|
|
$(PYTHON) $(BSL) $(BSL_FLAGS) $<
|
|
endif
|
|
else
|
|
%.upload:
|
|
@echo "This board cannot be programmed through the ROM bootloader and therefore does not support the .upload target."
|
|
endif
|
|
|
|
### For the login etc targets
|
|
BAUDRATE = 115200
|
|
|
|
include $(CONTIKI)/arch/cpu/arm/cortex-m/cm3/Makefile.cm3
|