summaryrefslogtreecommitdiffstats
path: root/crypto/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/Makefile')
-rw-r--r--crypto/Makefile196
1 files changed, 196 insertions, 0 deletions
diff --git a/crypto/Makefile b/crypto/Makefile
new file mode 100644
index 0000000..0d73725
--- /dev/null
+++ b/crypto/Makefile
@@ -0,0 +1,196 @@
+PROG=main
+
+DEFINES =
+DEFINES += -DSWI_DISABLE0
+#DEFINES += -DBOARD_PCA10028
+#DEFINES += -DBOARD_BLE400
+DEFINES += -DBOARD_BRACELET
+DEFINES += -DSOFTDEVICE_PRESENT
+DEFINES += -DNRF51
+DEFINES += -DS110
+DEFINES += -DBLE_STACK_SUPPORT_REQD
+DEFINES += -DBSP_UART_SUPPORT
+
+CFLAGS=-g
+LDFLAGS=
+ASFLAGS=
+INCLUDES=
+
+SDK=../sdk-9.0.0
+
+BDADDR=CF:5F:D0:0C:8D:FD
+
+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/s110/hex/s110_softdevice.hex
+
+LINKER_SCRIPT=s110-bootloader.ld
+
+APP_VERSION=0xFFFFFFFF
+DEV_REVISION=0xFFFF
+DEV_TYPE=0xFFFF
+SD_REQ=0xFFFE
+
+INCLUDES += -Isdk-config -I${SDK} -I..
+#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
+GDB := $(CROSS)gdb
+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-bin/%.o} ${SDKSSRCS:%.s=sdk-bin/%.o}
+
+default: ${PROG}.zip ${PROG}.hex
+
+clean:
+ /bin/rm -f ${OBJS} ${PROG} ${PROG}.bin ${PROG}.hex ${PROG}.zip
+
+${PROG}:${OBJS}
+ $(CC) $(LDFLAGS) $(CFLAGS) $(OBJS) $(LIBS) -o $@
+ $(SIZE) $@
+
+%.bin:%
+ $(OBJCOPY) -O binary $< $@
+%.hex:%
+ $(OBJCOPY) -O ihex $< $@
+
+
+%.o:%.c
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
+
+sdk-bin/%.o:${SDK}/sdk/%.s
+ @-mkdir -p $@
+ @-rmdir $@
+ $(CC) $(CPPFLAGS) $(ASFLAGS) -c -o $@ $<
+
+
+sdk-bin/%.o:${SDK}/sdk/%.c
+ @-mkdir -p $@
+ @-rmdir $@
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
+
+
+bsp/%.o:../bsp/%.c
+ @-mkdir -p $@
+ @-rmdir $@
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
+
+
+ds:
+ $(OOCD) -f $(OOCD_CFG)
+
+debug: ${PROG}
+ ${GDB} -x gdb.script ${PROG}
+
+reset:
+ ${OOCD} -f ${OOCD_CFG} \
+ -c "init" \
+ -c "reset init" \
+ -c "reset" \
+ -c "shutdown"
+
+
+%.zip: %.hex
+ ${NRFUTIL} dfu genpkg --dev-revision ${DEV_REVISION} --dev-type ${DEV_TYPE} --application-version ${APP_VERSION} --sd-req ${SD_REQ} --application $< $@
+
+flash: ${PROG}.hex
+ ${OOCD} -f ${OOCD_CFG} \
+ -c "init" -c "reset init" \
+ -c "flash write_image erase $<" \
+ -c "reset" \
+ -c "shutdown"
+
+
+
+flash_softdevice: ${SOFTDEVICE}
+ ${OOCD} -f ${OOCD_CFG} \
+ -c "init" -c "reset init" \
+ -c "nrf51 mass_erase" \
+ -c "flash write_image erase $<" \
+ -c "reset" \
+ -c "shutdown"
+
+
+dfu: ${PROG}.zip
+ nrfdfu -b ${BDADDR} -p ${PROG}.zip
+
+
+#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