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. --- .../pca10056/ser_s140_usb_hci/armgcc/Makefile | 268 +++++++++++++++++++++ .../armgcc/ble_connectivity_gcc_nrf52.ld | 87 +++++++ 2 files changed, 355 insertions(+) create mode 100644 thirdparty/nRF5_SDK_15.0.0_a53641a/examples/connectivity/ble_connectivity/pca10056/ser_s140_usb_hci/armgcc/Makefile create mode 100644 thirdparty/nRF5_SDK_15.0.0_a53641a/examples/connectivity/ble_connectivity/pca10056/ser_s140_usb_hci/armgcc/ble_connectivity_gcc_nrf52.ld (limited to 'thirdparty/nRF5_SDK_15.0.0_a53641a/examples/connectivity/ble_connectivity/pca10056/ser_s140_usb_hci/armgcc') diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/connectivity/ble_connectivity/pca10056/ser_s140_usb_hci/armgcc/Makefile b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/connectivity/ble_connectivity/pca10056/ser_s140_usb_hci/armgcc/Makefile new file mode 100644 index 0000000..83e52f4 --- /dev/null +++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/connectivity/ble_connectivity/pca10056/ser_s140_usb_hci/armgcc/Makefile @@ -0,0 +1,268 @@ +PROJECT_NAME := ble_connectivity_s140_usb_hci_pca10056 +TARGETS := nrf52840_xxaa +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../../.. +PROJ_DIR := ../../.. + +$(OUTPUT_DIRECTORY)/nrf52840_xxaa.out: \ + LINKER_SCRIPT := ble_connectivity_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52840.S \ + $(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/libraries/util/app_error.c \ + $(SDK_ROOT)/components/libraries/util/app_error_handler_gcc.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/timer/app_timer.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/crc16/crc16.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/experimental_memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52840.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers/ble_conn.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/common/ble_dtm_init.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers/ble_event_enc.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers/ble_evt_conn.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers/ble_gap_conn.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers/ble_gap_evt_conn.c \ + $(SDK_ROOT)/components/serialization/common/struct_ser/ble/ble_gap_struct_serialization.c \ + $(SDK_ROOT)/components/serialization/common/struct_ser/ble/ble_gatt_struct_serialization.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers/ble_gattc_conn.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers/ble_gattc_evt_conn.c \ + $(SDK_ROOT)/components/serialization/common/struct_ser/ble/ble_gattc_struct_serialization.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers/ble_gatts_conn.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers/ble_gatts_evt_conn.c \ + $(SDK_ROOT)/components/serialization/common/struct_ser/ble/ble_gatts_struct_serialization.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers/ble_l2cap_conn.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers/ble_l2cap_evt_conn.c \ + $(SDK_ROOT)/components/serialization/common/struct_ser/ble/ble_l2cap_struct_serialization.c \ + $(SDK_ROOT)/components/serialization/common/ble_serialization.c \ + $(SDK_ROOT)/components/serialization/common/struct_ser/ble/ble_struct_serialization.c \ + $(SDK_ROOT)/components/serialization/common/cond_field_serialization.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers/conn_ble_gap_sec_keys.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers/conn_ble_l2cap_sdu_pool.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers/conn_ble_user_mem.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/common/conn_mw.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/middleware/conn_mw_ble.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/middleware/conn_mw_ble_gap.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/middleware/conn_mw_ble_gattc.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/middleware/conn_mw_ble_gatts.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/middleware/conn_mw_ble_l2cap.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/common/conn_mw_nrf_soc.c \ + $(SDK_ROOT)/components/serialization/connectivity/hal/dtm_uart.c \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers/nrf_soc_conn.c \ + $(SDK_ROOT)/components/serialization/common/struct_ser/ble/nrf_soc_struct_serialization.c \ + $(SDK_ROOT)/components/serialization/connectivity/ser_conn_cmd_decoder.c \ + $(SDK_ROOT)/components/serialization/connectivity/ser_conn_dtm_cmd_decoder.c \ + $(SDK_ROOT)/components/serialization/connectivity/ser_conn_error_handling.c \ + $(SDK_ROOT)/components/serialization/connectivity/ser_conn_event_encoder.c \ + $(SDK_ROOT)/components/serialization/connectivity/ser_conn_handlers.c \ + $(SDK_ROOT)/components/serialization/connectivity/ser_conn_pkt_decoder.c \ + $(SDK_ROOT)/components/serialization/connectivity/ser_conn_reset_cmd_decoder.c \ + $(SDK_ROOT)/components/serialization/common/ser_dbg_sd_str.c \ + $(SDK_ROOT)/components/serialization/common/transport/ser_hal_transport.c \ + $(SDK_ROOT)/components/serialization/common/transport/ser_phy/ser_phy_hci.c \ + $(SDK_ROOT)/components/serialization/common/transport/ser_phy/ser_phy_hci_slip_cdc.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_clock.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_power.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_uart.c \ + $(SDK_ROOT)/components/drivers_nrf/usbd/nrf_drv_usbd.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)/modules/nrfx/drivers/src/prs/nrfx_prs.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uart.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uarte.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)/components/ble/ble_dtm/ble_dtm.c \ + $(SDK_ROOT)/components/ble/ble_dtm/ble_dtm_hw_nrf52.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(PROJ_DIR)/config/ble_connectivity_s140_usb_hci_pca10056 \ + $(SDK_ROOT)/components \ + $(SDK_ROOT)/components/serialization/connectivity/hal \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/serializers \ + $(SDK_ROOT)/components/libraries/experimental_log \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/timer \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/common \ + $(SDK_ROOT)/components/serialization/connectivity \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/serialization/connectivity/codecs/ble/middleware \ + $(SDK_ROOT)/integration/nrfx/legacy \ + $(SDK_ROOT)/components/libraries/crc16 \ + $(SDK_ROOT)/components/ble/ble_dtm \ + $(SDK_ROOT)/components/serialization/common \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc/acm \ + ../config \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc \ + $(SDK_ROOT)/components/serialization/common/transport/ser_phy/config \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/drivers_nrf/usbd \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/libraries/bsp \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/softdevice/s140/headers \ + $(SDK_ROOT)/components/serialization/common/transport/ser_phy \ + $(SDK_ROOT)/components/libraries/usbd \ + $(SDK_ROOT)/components/libraries/experimental_log/src \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/experimental_memobj \ + $(SDK_ROOT)/components/serialization/common/struct_ser/ble \ + $(SDK_ROOT)/components/libraries/usbd/config \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/serialization/common/transport \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/components/softdevice/s140/headers/nrf52 \ + $(SDK_ROOT)/modules/nrfx/drivers/include \ + $(SDK_ROOT)/external/fprintf \ + +# Libraries common to all targets +LIB_FILES += \ + +# 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 += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10056 +CFLAGS += -DBSP_DEFINES_ONLY +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DHCI_TIMER2 +CFLAGS += -DNRF52840_XXAA +CFLAGS += -DNRF_SD_BLE_API_VERSION=6 +CFLAGS += -DS140 +CFLAGS += -DSER_CONNECTIVITY +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSWI_DISABLE0 +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 + +# 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 += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10056 +ASMFLAGS += -DBSP_DEFINES_ONLY +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DHCI_TIMER2 +ASMFLAGS += -DNRF52840_XXAA +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=6 +ASMFLAGS += -DS140 +ASMFLAGS += -DSER_CONNECTIVITY +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSWI_DISABLE0 + +# 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: CFLAGS += -D__HEAP_SIZE=512 +nrf52840_xxaa: CFLAGS += -D__STACK_SIZE=2048 +nrf52840_xxaa: ASMFLAGS += -D__HEAP_SIZE=512 +nrf52840_xxaa: ASMFLAGS += -D__STACK_SIZE=2048 + +# 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 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52840_xxaa + @echo flash_softdevice + @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_softdevice erase + +# Flash the program +flash: $(OUTPUT_DIRECTORY)/nrf52840_xxaa.hex + @echo Flashing: $< + nrfjprog -f nrf52 --program $< --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s140_nrf52_6.0.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s140/hex/s140_nrf52_6.0.0_softdevice.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) diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/connectivity/ble_connectivity/pca10056/ser_s140_usb_hci/armgcc/ble_connectivity_gcc_nrf52.ld b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/connectivity/ble_connectivity/pca10056/ser_s140_usb_hci/armgcc/ble_connectivity_gcc_nrf52.ld new file mode 100644 index 0000000..2640923 --- /dev/null +++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/connectivity/ble_connectivity/pca10056/ser_s140_usb_hci/armgcc/ble_connectivity_gcc_nrf52.ld @@ -0,0 +1,87 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x26000, LENGTH = 0xda000 + RAM (rwx) : ORIGIN = 0x200094b8, LENGTH = 0x36b48 +} + +SECTIONS +{ +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + +} INSERT AFTER .text + +INCLUDE "nrf_common.ld" -- cgit v1.2.3