Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
micropython/ports/cc3200/application.mk
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
236 lines (203 sloc)
5.24 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
APP_INC = -I. | |
APP_INC += -I$(TOP) | |
APP_INC += -Ifatfs/src | |
APP_INC += -Ifatfs/src/drivers | |
APP_INC += -IFreeRTOS | |
APP_INC += -IFreeRTOS/Source/include | |
APP_INC += -IFreeRTOS/Source/portable/GCC/ARM_CM3 | |
APP_INC += -Iftp | |
APP_INC += -Ihal | |
APP_INC += -Ihal/inc | |
APP_INC += -Imisc | |
APP_INC += -Imods | |
APP_INC += -I$(TOP)/drivers/cc3100/inc | |
APP_INC += -Isimplelink | |
APP_INC += -Isimplelink/oslib | |
APP_INC += -Itelnet | |
APP_INC += -Iutil | |
APP_INC += -Ibootmgr | |
APP_INC += -I$(BUILD) | |
APP_INC += -I$(BUILD)/genhdr | |
APP_CPPDEFINES = -Dgcc -DTARGET_IS_CC3200 -DSL_FULL -DUSE_FREERTOS | |
APP_FATFS_SRC_C = $(addprefix fatfs/src/,\ | |
drivers/sflash_diskio.c \ | |
drivers/sd_diskio.c \ | |
) | |
APP_RTOS_SRC_C = $(addprefix FreeRTOS/Source/,\ | |
croutine.c \ | |
event_groups.c \ | |
list.c \ | |
queue.c \ | |
tasks.c \ | |
timers.c \ | |
portable/GCC/ARM_CM3/port.c \ | |
portable/MemMang/heap_4.c \ | |
) | |
APP_FTP_SRC_C = $(addprefix ftp/,\ | |
ftp.c \ | |
updater.c \ | |
) | |
APP_HAL_SRC_C = $(addprefix hal/,\ | |
adc.c \ | |
aes.c \ | |
cc3200_hal.c \ | |
cpu.c \ | |
crc.c \ | |
des.c \ | |
gpio.c \ | |
i2c.c \ | |
i2s.c \ | |
interrupt.c \ | |
pin.c \ | |
prcm.c \ | |
sdhost.c \ | |
shamd5.c \ | |
spi.c \ | |
startup_gcc.c \ | |
systick.c \ | |
timer.c \ | |
uart.c \ | |
utils.c \ | |
wdt.c \ | |
) | |
APP_MISC_SRC_C = $(addprefix misc/,\ | |
antenna.c \ | |
FreeRTOSHooks.c \ | |
help.c \ | |
mpirq.c \ | |
mperror.c \ | |
) | |
APP_MODS_SRC_C = $(addprefix mods/,\ | |
modnetwork.c \ | |
modsocket.c \ | |
modssl.c \ | |
modwipy.c \ | |
modwlan.c \ | |
pybadc.c \ | |
pybpin.c \ | |
pybi2c.c \ | |
pybrtc.c \ | |
pybflash.c \ | |
pybsd.c \ | |
pybsleep.c \ | |
pybspi.c \ | |
pybtimer.c \ | |
pybuart.c \ | |
) | |
APP_CC3100_SRC_C = $(addprefix drivers/cc3100/src/,\ | |
device.c \ | |
driver.c \ | |
flowcont.c \ | |
fs.c \ | |
netapp.c \ | |
netcfg.c \ | |
socket.c \ | |
wlan.c \ | |
) | |
APP_SL_SRC_C = $(addprefix simplelink/,\ | |
oslib/osi_freertos.c \ | |
cc_pal.c \ | |
) | |
APP_TELNET_SRC_C = $(addprefix telnet/,\ | |
telnet.c \ | |
) | |
APP_UTIL_SRC_C = $(addprefix util/,\ | |
cryptohash.c \ | |
fifo.c \ | |
gccollect.c \ | |
random.c \ | |
socketfifo.c \ | |
) | |
APP_UTIL_SRC_S = $(addprefix util/,\ | |
cortex_m3_get_sp.s \ | |
sleeprestore.s \ | |
) | |
APP_MAIN_SRC_C = \ | |
main.c \ | |
mptask.c \ | |
mpthreadport.c \ | |
serverstask.c \ | |
fatfs_port.c \ | |
APP_LIB_SRC_C = $(addprefix lib/,\ | |
oofatfs/ff.c \ | |
oofatfs/ffunicode.c \ | |
) | |
APP_SHARED_SRC_C = $(addprefix shared/,\ | |
libc/string0.c \ | |
readline/readline.c \ | |
netutils/netutils.c \ | |
timeutils/timeutils.c \ | |
runtime/gchelper_native.c \ | |
runtime/pyexec.c \ | |
runtime/interrupt_char.c \ | |
runtime/stdout_helpers.c \ | |
runtime/sys_stdio_mphal.c \ | |
) | |
APP_STM_SRC_C = $(addprefix ports/stm32/,\ | |
bufhelper.c \ | |
) | |
OBJ = $(PY_O) $(addprefix $(BUILD)/, $(APP_FATFS_SRC_C:.c=.o) $(APP_RTOS_SRC_C:.c=.o) $(APP_FTP_SRC_C:.c=.o) $(APP_HAL_SRC_C:.c=.o) $(APP_MISC_SRC_C:.c=.o)) | |
OBJ += $(addprefix $(BUILD)/, $(APP_MODS_SRC_C:.c=.o) $(APP_CC3100_SRC_C:.c=.o) $(APP_SL_SRC_C:.c=.o) $(APP_TELNET_SRC_C:.c=.o) $(APP_UTIL_SRC_C:.c=.o) $(APP_UTIL_SRC_S:.s=.o)) | |
OBJ += $(addprefix $(BUILD)/, $(APP_MAIN_SRC_C:.c=.o) $(APP_SHARED_SRC_C:.c=.o) $(APP_LIB_SRC_C:.c=.o) $(APP_STM_SRC_C:.c=.o)) | |
OBJ += $(BUILD)/shared/runtime/gchelper_thumb2.o | |
OBJ += $(BUILD)/pins.o | |
# List of sources for qstr extraction | |
SRC_QSTR += $(APP_MODS_SRC_C) $(APP_MISC_SRC_C) $(APP_STM_SRC_C) $(APP_SHARED_SRC_C) $(APP_HAL_SRC_C) $(GEN_PINS_SRC) | |
# Add the linker script | |
LINKER_SCRIPT = application.lds | |
LDFLAGS += -T $(LINKER_SCRIPT) | |
# Add the application specific CFLAGS | |
CFLAGS += $(APP_CPPDEFINES) $(APP_INC) | |
# Disable strict aliasing for the simplelink driver | |
$(BUILD)/drivers/cc3100/src/driver.o: CFLAGS += -fno-strict-aliasing | |
# Check if we would like to debug the port code | |
ifeq ($(BTYPE), release) | |
CFLAGS += -DNDEBUG | |
else | |
ifeq ($(BTYPE), debug) | |
CFLAGS += -DDEBUG | |
else | |
$(error Invalid BTYPE specified) | |
endif | |
endif | |
SHELL = bash | |
APP_SIGN = appsign.sh | |
UPDATE_WIPY ?= tools/update-wipy.py | |
WIPY_IP ?= '192.168.1.1' | |
WIPY_USER ?= 'micro' | |
WIPY_PWD ?= 'python' | |
all: $(BUILD)/firmware.zip | |
.PHONY: deploy-ota | |
deploy-ota: $(BUILD)/mcuimg.bin | |
$(ECHO) "Writing $< to the board" | |
$(Q)$(PYTHON) $(UPDATE_WIPY) --verify --ip $(WIPY_IP) --user $(WIPY_USER) --password $(WIPY_PWD) --file $< | |
$(BUILD)/application.axf: $(OBJ) $(LINKER_SCRIPT) | |
$(ECHO) "LINK $@" | |
$(Q)$(CC) -o $@ $(LDFLAGS) $(OBJ) $(LIBS) | |
$(Q)$(SIZE) $@ | |
$(BUILD)/application.bin: $(BUILD)/application.axf | |
$(ECHO) "Create $@" | |
$(Q)$(OBJCOPY) -O binary $< $@ | |
$(BUILD)/mcuimg.bin: $(BUILD)/application.bin | |
$(ECHO) "Create $@" | |
$(Q)$(SHELL) $(APP_SIGN) $(BUILD) | |
$(BUILD)/firmware.zip: $(BUILD)/mcuimg.bin | |
$(ECHO) "Create $@" | |
$(Q)$(ZIP) -j $@ $< | |
MAKE_PINS = boards/make-pins.py | |
BOARD_PINS = boards/$(BOARD)/pins.csv | |
AF_FILE = boards/cc3200_af.csv | |
PREFIX_FILE = boards/cc3200_prefix.c | |
GEN_PINS_SRC = $(BUILD)/pins.c | |
GEN_PINS_HDR = $(HEADER_BUILD)/pins.h | |
# Making OBJ use an order-only dependency on the generated pins.h file | |
# has the side effect of making the pins.h file before we actually compile | |
# any of the objects. The normal dependency generation will deal with the | |
# case when pins.h is modified. But when it doesn't exist, we don't know | |
# which source files might need it. | |
$(OBJ): | $(GEN_PINS_HDR) | |
# Call make-pins.py to generate both pins_gen.c and pins.h | |
$(GEN_PINS_SRC) $(GEN_PINS_HDR): $(BOARD_PINS) $(MAKE_PINS) $(AF_FILE) $(PREFIX_FILE) | $(HEADER_BUILD) | |
$(ECHO) "Create $@" | |
$(Q)$(PYTHON) $(MAKE_PINS) --board-csv $(BOARD_PINS) --af-csv $(AF_FILE) --prefix $(PREFIX_FILE) \ | |
--output-source $(GEN_PINS_SRC) --output-header $(GEN_PINS_HDR) |