diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2018-08-23 17:08:59 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2018-08-23 17:12:21 +0200 |
commit | 3061ecca3d0fdfb87dabbf5f63c9e06c2a30f53a (patch) | |
tree | ab49cc16ed0b853452c5c2ed2d3042416d628986 /thirdparty/nRF5_SDK_15.0.0_a53641a/examples/ble_peripheral/ble_app_gatts_c/pca10040e/s112/armgcc | |
download | iot-sensors-master.tar.gz iot-sensors-master.tar.bz2 iot-sensors-master.tar.xz iot-sensors-master.zip |
Diffstat (limited to 'thirdparty/nRF5_SDK_15.0.0_a53641a/examples/ble_peripheral/ble_app_gatts_c/pca10040e/s112/armgcc')
2 files changed, 413 insertions, 0 deletions
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/ble_peripheral/ble_app_gatts_c/pca10040e/s112/armgcc/Makefile b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/ble_peripheral/ble_app_gatts_c/pca10040e/s112/armgcc/Makefile new file mode 100644 index 0000000..78ec7b1 --- /dev/null +++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/ble_peripheral/ble_app_gatts_c/pca10040e/s112/armgcc/Makefile @@ -0,0 +1,296 @@ +PROJECT_NAME := ble_app_gatts_c_pca10040e_s112 +TARGETS := nrf52810_xxaa +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../../.. +PROJ_DIR := ../../.. + +$(OUTPUT_DIRECTORY)/nrf52810_xxaa.out: \ + LINKER_SCRIPT := ble_app_gatts_c_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52810.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_backend_uart.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/button/app_button.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/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc16/crc16.c \ + $(SDK_ROOT)/components/libraries/fds/fds.c \ + $(SDK_ROOT)/components/libraries/hardfault/hardfault_implementation.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic_flags/nrf_atflags.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_sd.c \ + $(SDK_ROOT)/components/libraries/experimental_memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/pwr_mgmt/nrf_pwr_mgmt.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_nrf52810.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_clock.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_uart.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_clock.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_gpiote.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_uarte.c \ + $(SDK_ROOT)/components/libraries/bsp/bsp.c \ + $(SDK_ROOT)/components/libraries/bsp/bsp_btn_ble.c \ + $(PROJ_DIR)/app_adv.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/common/ble_advdata.c \ + $(SDK_ROOT)/components/ble/ble_advertising/ble_advertising.c \ + $(SDK_ROOT)/components/ble/common/ble_conn_state.c \ + $(SDK_ROOT)/components/ble/ble_db_discovery/ble_db_discovery.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/ble/peer_manager/gatt_cache_manager.c \ + $(SDK_ROOT)/components/ble/peer_manager/gatts_cache_manager.c \ + $(SDK_ROOT)/components/ble/peer_manager/id_manager.c \ + $(SDK_ROOT)/components/ble/nrf_ble_gatt/nrf_ble_gatt.c \ + $(SDK_ROOT)/components/ble/nrf_ble_qwr/nrf_ble_qwr.c \ + $(SDK_ROOT)/components/ble/peer_manager/peer_data_storage.c \ + $(SDK_ROOT)/components/ble/peer_manager/peer_database.c \ + $(SDK_ROOT)/components/ble/peer_manager/peer_id.c \ + $(SDK_ROOT)/components/ble/peer_manager/peer_manager.c \ + $(SDK_ROOT)/components/ble/peer_manager/pm_buffer.c \ + $(SDK_ROOT)/components/ble/peer_manager/pm_mutex.c \ + $(SDK_ROOT)/components/ble/peer_manager/security_dispatcher.c \ + $(SDK_ROOT)/components/ble/peer_manager/security_manager.c \ + $(SDK_ROOT)/components/ble/ble_services/experimental_gatts_c/nrf_ble_gatts_c.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) \ + $(SDK_ROOT)/components/ble/ble_services/ble_ancs_c \ + $(SDK_ROOT)/components/ble/ble_services/ble_ias_c \ + $(SDK_ROOT)/components/libraries/pwm \ + $(SDK_ROOT)/components/softdevice/s112/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc/acm \ + $(SDK_ROOT)/components/libraries/usbd/class/hid/generic \ + $(SDK_ROOT)/components/libraries/usbd/class/msc \ + $(SDK_ROOT)/components/libraries/usbd/class/hid \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/ble/ble_services/ble_lbs \ + $(SDK_ROOT)/components/ble/ble_services/ble_gls \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/mutex \ + $(SDK_ROOT)/components/libraries/gpiote \ + $(SDK_ROOT)/components/libraries/experimental_log/src \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/experimental_memobj \ + $(SDK_ROOT)/components/ble/ble_advertising \ + $(SDK_ROOT)/components/ble/ble_services/experimental_gatts_c \ + $(SDK_ROOT)/components/ble/ble_services/ble_bas_c \ + $(SDK_ROOT)/modules/nrfx/drivers/include \ + $(SDK_ROOT)/components/libraries/experimental_task_manager \ + $(SDK_ROOT)/components/ble/ble_services/ble_hrs_c \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/pwr_mgmt \ + $(SDK_ROOT)/components/ble/ble_dtm \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/ble/ble_services/ble_rscs_c \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/ble/ble_services/ble_lls \ + $(SDK_ROOT)/components/libraries/bsp \ + $(SDK_ROOT)/components/ble/ble_db_discovery \ + $(SDK_ROOT)/components/ble/ble_services/ble_bas \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/ble/ble_services/ble_ans_c \ + $(SDK_ROOT)/components/libraries/slip \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/libraries/experimental_mpu \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/csense_drv \ + $(SDK_ROOT)/components/ble/ble_services/ble_nus_c \ + $(SDK_ROOT)/components/libraries/usbd/config \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/components/ble/ble_services/ble_ias \ + $(SDK_ROOT)/components/libraries/usbd/class/hid/mouse \ + $(SDK_ROOT)/components/libraries/low_power_pwm \ + $(SDK_ROOT)/components/ble/ble_services/ble_dfu \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/components \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/components/libraries/cli \ + $(SDK_ROOT)/components/libraries/experimental_log \ + $(SDK_ROOT)/components/ble/ble_services/ble_hts \ + $(SDK_ROOT)/components/libraries/crc16 \ + $(SDK_ROOT)/components/libraries/util \ + ../config \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc \ + $(SDK_ROOT)/components/libraries/csense \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/ecc \ + $(SDK_ROOT)/components/libraries/hardfault \ + $(SDK_ROOT)/components/ble/ble_services/ble_cscs \ + $(SDK_ROOT)/components/libraries/hci \ + $(SDK_ROOT)/components/libraries/usbd/class/hid/kbd \ + $(SDK_ROOT)/components/libraries/timer \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/sortlist \ + $(SDK_ROOT)/components/libraries/spi_mngr \ + $(SDK_ROOT)/components/libraries/experimental_stack_guard \ + $(SDK_ROOT)/components/libraries/led_softblink \ + $(SDK_ROOT)/components/libraries/sdcard \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/ble/ble_services/ble_cts_c \ + $(SDK_ROOT)/components/ble/ble_services/ble_nus \ + $(SDK_ROOT)/components/libraries/twi_mngr \ + $(SDK_ROOT)/components/ble/ble_services/ble_hids \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/usbd/class/audio \ + $(SDK_ROOT)/components/ble/peer_manager \ + $(SDK_ROOT)/components/drivers_nrf/usbd \ + $(SDK_ROOT)/components/ble/ble_services/ble_tps \ + $(SDK_ROOT)/components/ble/ble_services/ble_dis \ + $(SDK_ROOT)/components/ble/nrf_ble_gatt \ + $(SDK_ROOT)/components/ble/nrf_ble_qwr \ + $(SDK_ROOT)/components/libraries/gfx \ + $(SDK_ROOT)/components/libraries/button \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/components/libraries/twi_sensor \ + $(SDK_ROOT)/integration/nrfx/legacy \ + $(SDK_ROOT)/components/libraries/usbd \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/components/libraries/experimental_ringbuf \ + $(SDK_ROOT)/components/ble/ble_services/ble_lbs_c \ + $(SDK_ROOT)/components/libraries/crypto \ + $(SDK_ROOT)/components/ble/ble_racp \ + $(SDK_ROOT)/components/libraries/fds \ + $(SDK_ROOT)/components/libraries/atomic_flags \ + $(SDK_ROOT)/components/softdevice/s112/headers \ + $(SDK_ROOT)/components/ble/ble_services/ble_rscs \ + $(SDK_ROOT)/components/ble/ble_services/ble_hrs \ + +# 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 += -DBOARD_PCA10040 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEVELOP_IN_NRF52832 +CFLAGS += -DFLOAT_ABI_SOFT +CFLAGS += -DNRF52810_XXAA +CFLAGS += -DNRF52_PAN_74 +CFLAGS += -DNRF_SD_BLE_API_VERSION=6 +CFLAGS += -DS112 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSWI_DISABLE0 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=soft +# 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=soft +ASMFLAGS += -DBOARD_PCA10040 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEVELOP_IN_NRF52832 +ASMFLAGS += -DFLOAT_ABI_SOFT +ASMFLAGS += -DNRF52810_XXAA +ASMFLAGS += -DNRF52_PAN_74 +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=6 +ASMFLAGS += -DS112 +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 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52810_xxaa: CFLAGS += -D__HEAP_SIZE=2048 +nrf52810_xxaa: CFLAGS += -D__STACK_SIZE=2048 +nrf52810_xxaa: ASMFLAGS += -D__HEAP_SIZE=2048 +nrf52810_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: nrf52810_xxaa + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52810_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)/nrf52810_xxaa.hex + @echo Flashing: $< + nrfjprog -f nrf52 --program $< --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s112_nrf52_6.0.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s112/hex/s112_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/ble_peripheral/ble_app_gatts_c/pca10040e/s112/armgcc/ble_app_gatts_c_gcc_nrf52.ld b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/ble_peripheral/ble_app_gatts_c/pca10040e/s112/armgcc/ble_app_gatts_c_gcc_nrf52.ld new file mode 100644 index 0000000..002bded --- /dev/null +++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/ble_peripheral/ble_app_gatts_c/pca10040e/s112/armgcc/ble_app_gatts_c_gcc_nrf52.ld @@ -0,0 +1,117 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x19000, LENGTH = 0x17000 + RAM (rwx) : ORIGIN = 0x20001b48, LENGTH = 0x44b8 +} + +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 + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + .cli_sorted_cmd_ptrs : + { + PROVIDE(__start_cli_sorted_cmd_ptrs = .); + KEEP(*(.cli_sorted_cmd_ptrs)) + PROVIDE(__stop_cli_sorted_cmd_ptrs = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + .pwr_mgmt_data : + { + PROVIDE(__start_pwr_mgmt_data = .); + KEEP(*(SORT(.pwr_mgmt_data*))) + PROVIDE(__stop_pwr_mgmt_data = .); + } > FLASH + .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 + .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 + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .cli_command : + { + PROVIDE(__start_cli_command = .); + KEEP(*(.cli_command)) + PROVIDE(__stop_cli_command = .); + } > FLASH + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + +} INSERT AFTER .text + +INCLUDE "nrf_common.ld" |