summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorroot <root@lamia.panaceas.james.local>2015-08-31 14:31:16 +0100
committerroot <root@lamia.panaceas.james.local>2015-08-31 14:31:16 +0100
commit4eed6a080410c9b34337c63f1160f065e16baba7 (patch)
tree197c4c2c443e9e387bd4b8cffa2ec80904f53add /Makefile
parentdd3e2c57e0bdf8c6befde1c244d6821d449aba8f (diff)
downloadblinky-4eed6a080410c9b34337c63f1160f065e16baba7.tar.gz
blinky-4eed6a080410c9b34337c63f1160f065e16baba7.tar.bz2
blinky-4eed6a080410c9b34337c63f1160f065e16baba7.zip
fish
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile157
1 files changed, 157 insertions, 0 deletions
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