From 3061ecca3d0fdfb87dabbf5f63c9e06c2a30f53a Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Thu, 23 Aug 2018 17:08:59 +0200 Subject: o Initial import. --- .../pca10059_usb_debug/armgcc/Makefile | 262 +++++++++++++++++++++ 1 file changed, 262 insertions(+) create mode 100644 thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/open_bootloader/pca10059_usb_debug/armgcc/Makefile (limited to 'thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/open_bootloader/pca10059_usb_debug/armgcc/Makefile') diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/open_bootloader/pca10059_usb_debug/armgcc/Makefile b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/open_bootloader/pca10059_usb_debug/armgcc/Makefile new file mode 100644 index 0000000..9217f23 --- /dev/null +++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/dfu/open_bootloader/pca10059_usb_debug/armgcc/Makefile @@ -0,0 +1,262 @@ +PROJECT_NAME := open_bootloader_usb_mbr_pca10059_debug +TARGETS := nrf52840_xxaa_debug +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52840_xxaa_debug.out: \ + LINKER_SCRIPT := open_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52840.S \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial_usb.c \ + $(SDK_ROOT)/components/libraries/experimental_log/src/nrf_log_backend_rtt.c \ + $(SDK_ROOT)/components/libraries/experimental_log/src/nrf_log_backend_serial.c \ + $(SDK_ROOT)/components/libraries/experimental_log/src/nrf_log_default_backends.c \ + $(SDK_ROOT)/components/libraries/experimental_log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/experimental_log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52840.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_init.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_shared.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/timer/experimental/app_timer2.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd.c \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc/acm/app_usbd_cdc_acm.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd_core.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd_serial_num.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd_string_desc.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/timer/experimental/drv_rtc.c \ + $(SDK_ROOT)/components/libraries/led_softblink/led_softblink.c \ + $(SDK_ROOT)/components/libraries/low_power_pwm/low_power_pwm.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/experimental_memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/sortlist/nrf_sortlist.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/slip/slip.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_clock.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_power.c \ + $(SDK_ROOT)/components/drivers_nrf/usbd/nrf_drv_usbd.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_nvic.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_soc.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_clock.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_power.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_power_clock.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_printf.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(PROJ_DIR)/config \ + $(SDK_ROOT)/modules/nrfx/drivers/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/components/libraries/timer/experimental \ + $(SDK_ROOT)/components/libraries/timer \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/low_power_pwm \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd \ + $(SDK_ROOT)/components/softdevice/mbr/nrf52840/headers \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu \ + $(SDK_ROOT)/components/libraries/usbd/config \ + $(SDK_ROOT)/external/nrf_cc310_bl/include \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc \ + $(SDK_ROOT)/components/libraries/usbd \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/integration/nrfx/legacy \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/led_softblink \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/components/libraries/slip \ + $(SDK_ROOT)/components/libraries/experimental_log/src \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc/acm \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/sortlist \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/mutex \ + $(SDK_ROOT)/external/nrf_cc310/include \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/experimental_log \ + $(SDK_ROOT)/components/libraries/experimental_memobj \ + $(SDK_ROOT)/components/drivers_nrf/usbd \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_cc310_bl/lib/libnrf_cc310_bl_0.9.9.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DAPP_TIMER_V2 +CFLAGS += -DAPP_TIMER_V2_RTC1_ENABLED +CFLAGS += -DBOARD_PCA10059 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEBUG_NRF +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DNRF52840_XXAA +CFLAGS += -DNRF_DFU_DEBUG_VERSION +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=1 +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums -flto + +# C++ flags common to all targets +CXXFLAGS += $(OPT) + +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DAPP_TIMER_V2 +ASMFLAGS += -DAPP_TIMER_V2_RTC1_ENABLED +ASMFLAGS += -DBOARD_PCA10059 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEBUG_NRF +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DNRF52840_XXAA +ASMFLAGS += -DNRF_DFU_DEBUG_VERSION +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=1 +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52840_xxaa_debug: CFLAGS += -D__HEAP_SIZE=0 +nrf52840_xxaa_debug: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52840_xxaa_debug + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52840_xxaa_debug + @echo flash_mbr + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_mbr erase + +# Flash the program +flash: $(OUTPUT_DIRECTORY)/nrf52840_xxaa_debug.hex + @echo Flashing: $< + nrfjprog -f nrf52 --program $< --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_mbr: + @echo Flashing: mbr_nrf52_2.3.0_mbr.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/mbr/nrf52840/hex/mbr_nrf52_2.3.0_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) -- cgit v1.2.3