From 4eed6a080410c9b34337c63f1160f065e16baba7 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 31 Aug 2015 14:31:16 +0100 Subject: fish --- Makefile | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..bea2a26 --- /dev/null +++ b/Makefile @@ -0,0 +1,157 @@ +PROG=main + +DEFINES = +DEFINES += -DSWI_DISABLE0 +#DEFINES += -DBOARD_PCA10028 +DEFINES += -DBOARD_BLE400 +DEFINES += -DSOFTDEVICE_PRESENT +DEFINES += -DNRF51 +DEFINES += -DS130 +DEFINES += -DBLE_STACK_SUPPORT_REQD +DEFINES += -DBSP_UART_SUPPORT + +CFLAGS= +LDFLAGS= +ASFLAGS= +INCLUDES= + +SDK=sdk-9.0.0 + +SDKCSRCS= \ + softdevice/common/softdevice_handler/softdevice_handler_appsh.c \ + softdevice/common/softdevice_handler/softdevice_handler.c \ + drivers_nrf/uart/app_uart_fifo.c \ + drivers_nrf/common/nrf_drv_common.c \ + drivers_nrf/gpiote/nrf_drv_gpiote.c \ + drivers_nrf/pstorage/pstorage.c \ + drivers_nrf/hal/nrf_delay.c \ + libraries/uart/retarget.c \ + libraries/util/app_error.c \ + libraries/util/nrf_assert.c \ + libraries/trace/app_trace.c \ + libraries/fifo/app_fifo.c \ + libraries/button/app_button.c \ + libraries/sensorsim/sensorsim.c \ + libraries/scheduler/app_scheduler.c \ + libraries/timer/app_timer_appsh.c \ + libraries/timer/app_timer.c \ + ble/common/ble_srv_common.c \ + ble/common/ble_advdata.c \ + ble/common/ble_conn_params.c \ + ble/device_manager/device_manager_peripheral.c \ + ble/ble_advertising/ble_advertising.c \ + ble/ble_services/ble_hids/ble_hids.c \ + ble/ble_services/ble_dis/ble_dis.c \ + ble/ble_services/ble_bas/ble_bas.c \ + toolchain/system_nrf51.c + +SDKSSRCS = toolchain/gcc/gcc_startup_nrf51.s + + +CSRCS = \ + bsp/bsp.c \ + bsp/bsp_btn_ble.c \ + main.c + + +SOFTDEVICE=${SDK}/sdk/softdevice/s130/hex/s130_softdevice.hex + +LINKER_SCRIPT=s130-bootloader.ld + +APP_VERSION=0xFFFFFFFF +DEV_REVISION=0xFFFF +DEV_TYPE=0xFFFF +SD_REQ=0xFFEE + +INCLUDES += -Isdk-config -I${SDK} +#INCLUDES += -Iconfig + +OOCD=openocd +OOCD_CFG=openocd.cfg + + +CROSS=arm-none-eabi- +CC := $(CROSS)gcc +AS := $(CROSS)as +AR := $(CROSS)ar +LD := $(CROSS)ld +NM := $(CROSS)nm +OBJDUMP := $(CROSS)objdump +OBJCOPY := $(CROSS)objcopy +SIZE := $(CROSS)size +NRFUTIL := nrfutil + +CFLAGS += -mcpu=cortex-m0 +CFLAGS += -mthumb -mabi=aapcs --std=gnu99 +CFLAGS += -Wall -Werror -O3 +CFLAGS += -mfloat-abi=soft +# keep every function in separate section. This will allow linker to dump unused functions +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin --short-enums + +# keep every function in separate section. This will allow linker to dump unused functions +LDFLAGS += -Xlinker -Map=$(PROG).map +LDFLAGS += -mthumb -mabi=aapcs -L${SDK} -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m0 +# let linker to dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +#LDFLAGS += --specs=nano.specs -lc -lnosys +LIBS += -lc -lnosys + +# Assembler flags +ASFLAGS += -x assembler-with-cpp + +CPPFLAGS=$(DEFINES) $(INCLUDES) + + +OBJS=${CSRCS:%.c=%.o} ${SDKCSRCS:%.c=${SDK}/sdk/%.o} ${SDKSSRCS:%.s=${SDK}/sdk/%.o} + +default: ${PROG}.zip ${PROG}.hex + +clean: + /bin/rm -f ${OBJS} ${PROG} ${PROG}.bin ${PROG}.hex + +${PROG}:${OBJS} + $(CC) $(LDFLAGS) $(CFLAGS) $(OBJS) $(LIBS) -o $@ + $(SIZE) $@ + +%.bin:% + $(OBJCOPY) -O binary $< $@ +%.hex:% + $(OBJCOPY) -O ihex $< $@ + + +%.o:%.c + $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< + +%.o:%.s + $(CC) $(CPPFLAGS) $(ASFLAGS) -c -o $@ $< + + +flash: ${PROG}.hex + ${OOCD} -f ${OOCD_CFG} \ + -c "init" -c "reset init" \ + -c "flash write_image erase $<" \ + -c "reset" \ + -c "shutdown" + +ds: + $(OOCD) -f $(OOCD_CFG) + +debug: ${PROG} + ${GDB} -x gdb.script ${PROG} + + +${PROG}.zip: ${PROG}.hex + ${NRFUTIL} dfu genpkg --dev-revision ${DEV_REVISION} --dev-type ${DEV_TYPE} --application-version ${APP_VERSION} --sd-req ${SD_REQ} --application $< $@ + + +#flash: $(MAKECMDGOALS) +# @echo Flashing: $(OUTPUT_BINARY_DIRECTORY)/$<.hex +# nrfjprog --reset --program $(OUTPUT_BINARY_DIRECTORY)/$<.hex +# +### Flash softdevice +#flash_softdevice: +# @echo Flashing: s130_softdevice.hex +# nrfjprog --reset --program softdevice/s130/hex/s130_softdevice.hex -- cgit v1.2.3