cmake_minimum_required(VERSION 3.7) set(SOFTDEVICE 132) set(target temp) set(board gold_core) mcu_include_directories_from_sources( SOURCES_VAR NRF5_SOURCES HEADERS_VAR NRF5_HEADERS INCLUDES_VAR NRF5_INCLUDES SOURCE_DIR ${MCU_NRF5X_SDK_PATH}/components/ble/ble_advertising ${MCU_NRF5X_SDK_PATH}/components/ble/ble_services/ble_bas # battery ${MCU_NRF5X_SDK_PATH}/components/ble/ble_services/ble_btn # button ${MCU_NRF5X_SDK_PATH}/components/ble/ble_services/ble_dis # Device Information Service ${MCU_NRF5X_SDK_PATH}/components/ble/ble_services/ble_hts # Health Thermometer Service ${MCU_NRF5X_SDK_PATH}/components/ble/common ${MCU_NRF5X_SDK_PATH}/components/ble/nrf_ble_gatt ${MCU_NRF5X_SDK_PATH}/components/ble/nrf_ble_qwr ${MCU_NRF5X_SDK_PATH}/components/ble/peer_manager ${MCU_NRF5X_SDK_PATH}/components/boards ${MCU_NRF5X_SDK_PATH}/components/drivers_nrf/clock ${MCU_NRF5X_SDK_PATH}/components/drivers_nrf/common ${MCU_NRF5X_SDK_PATH}/components/drivers_nrf/delay ${MCU_NRF5X_SDK_PATH}/components/drivers_nrf/uart ${MCU_NRF5X_SDK_PATH}/components/libraries/atomic ${MCU_NRF5X_SDK_PATH}/components/libraries/atomic_flags ${MCU_NRF5X_SDK_PATH}/components/libraries/atomic_fifo ${MCU_NRF5X_SDK_PATH}/components/libraries/balloc ${MCU_NRF5X_SDK_PATH}/components/libraries/bsp ${MCU_NRF5X_SDK_PATH}/components/libraries/button ${MCU_NRF5X_SDK_PATH}/components/libraries/crc32 ${MCU_NRF5X_SDK_PATH}/components/libraries/delay ${MCU_NRF5X_SDK_PATH}/components/libraries/experimental_log ${MCU_NRF5X_SDK_PATH}/components/libraries/experimental_memobj ${MCU_NRF5X_SDK_PATH}/components/libraries/experimental_section_vars ${MCU_NRF5X_SDK_PATH}/components/libraries/experimental_ringbuf ${MCU_NRF5X_SDK_PATH}/components/libraries/fds ${MCU_NRF5X_SDK_PATH}/components/libraries/fstorage ${MCU_NRF5X_SDK_PATH}/components/libraries/log ${MCU_NRF5X_SDK_PATH}/components/libraries/pwr_mgmt ${MCU_NRF5X_SDK_PATH}/components/libraries/queue ${MCU_NRF5X_SDK_PATH}/components/libraries/timer ${MCU_NRF5X_SDK_PATH}/components/libraries/scheduler ${MCU_NRF5X_SDK_PATH}/components/libraries/mutex ${MCU_NRF5X_SDK_PATH}/components/libraries/sensorsim ${MCU_NRF5X_SDK_PATH}/components/libraries/strerror ${MCU_NRF5X_SDK_PATH}/components/libraries/util ${MCU_NRF5X_SDK_PATH}/components/softdevice/common ${MCU_NRF5X_SDK_PATH}/external/fprintf # ${MCU_NRF5X_SDK_PATH}/external/segger_rtt/SEGGER_RTT.c # ${MCU_NRF5X_SDK_PATH}/external/segger_rtt/SEGGER_RTT_printf.c # ${MCU_NRF5X_SDK_PATH}/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c EXCLUDE app_error_weak_cmock app_uart_fifo nrf_log_backend retarget bsp_cli app_scheduler_serconn freertos app_timer2 app_timer_rtx timer/experimental keil iar ) list(APPEND NRF5_SOURCES ${MCU_NRF5X_SDK_PATH}/modules/nrfx/drivers/src/nrfx_gpiote.c ${MCU_NRF5X_SDK_PATH}/modules/nrfx/drivers/src/nrfx_uart.c ${MCU_NRF5X_SDK_PATH}/modules/nrfx/drivers/src/nrfx_uarte.c ${MCU_NRF5X_SDK_PATH}/modules/nrfx/drivers/src/prs/nrfx_prs.c ${MCU_NRF5X_SDK_PATH}/integration/nrfx/legacy/nrf_drv_uart.c) list(APPEND NRF5_HEADERS ${MCU_NRF5X_SDK_PATH}/integration/nrfx/legacy/nrf_drv_gpiote.h) list(APPEND NRF5_INCLUDES ${MCU_NRF5X_SDK_PATH}/integration/nrfx ${MCU_NRF5X_SDK_PATH}/integration/nrfx/legacy ${MCU_NRF5X_SDK_PATH}/modules/nrfx ${MCU_NRF5X_SDK_PATH}/modules/nrfx/drivers/include ${MCU_NRF5X_SDK_PATH}/modules/nrfx/hal) # Uart log backend list(APPEND NRF5_SOURCES ${MCU_NRF5X_SDK_PATH}/components/libraries/experimental_log/src/nrf_log_backend_uart.c ${MCU_NRF5X_SDK_PATH}/components/libraries/experimental_log/src/nrf_log_backend_serial.c ) add_executable(${target} main.c ${NRF5_SOURCES} ${NRF5_HEADERS}) target_link_libraries(${target} PUBLIC m) set(D ${MCU_NRF5X_SDK_PATH}/examples/ble_peripheral/${T}) mcu_add_executable(TARGET ${target} SDK_CONFIG ${SDK_CONFIG} SOFTDEVICE ${SOFTDEVICE} LINKER_SCRIPT ${target}.ld) target_include_directories(${target} PUBLIC include ${NRF5_INCLUDES}) # NRF_LOG_ENABLED=1 # NRF_LOG_DEFAULT_LEVEL=4 target_compile_definitions(${target} PUBLIC CUSTOM_BOARD_INC=${board}_board INITIAL_DC_OFFSET=1000 NRF_LOG_USES_RTT=1 BLE_STACK_SUPPORT_REQD DEBUG ) # CONFIG_GPIO_AS_PINRESET # SWI_DISABLE0 target_compile_definitions(${target} PUBLIC __HEAP_SIZE=0 NRF52_PAN_12 NRF52_PAN_15 NRF52_PAN_20 NRF52_PAN_30 NRF52_PAN_31 NRF52_PAN_36 NRF52_PAN_51 NRF52_PAN_53 NRF52_PAN_54 NRF52_PAN_55 NRF52_PAN_58 NRF52_PAN_62 NRF52_PAN_63 NRF52_PAN_64)