diff options
Diffstat (limited to 'examples/ble_app_buttonless_dfu/CMakeLists.txt')
-rw-r--r-- | examples/ble_app_buttonless_dfu/CMakeLists.txt | 95 |
1 files changed, 65 insertions, 30 deletions
diff --git a/examples/ble_app_buttonless_dfu/CMakeLists.txt b/examples/ble_app_buttonless_dfu/CMakeLists.txt index ba4d175..3b47921 100644 --- a/examples/ble_app_buttonless_dfu/CMakeLists.txt +++ b/examples/ble_app_buttonless_dfu/CMakeLists.txt @@ -1,38 +1,73 @@ -set(D ${MCU_NRF51_SDK_PATH}/examples/ble_peripheral/experimental_ble_app_buttonless_dfu) - -if(NOT EXISTS ${D}) - message("Not available in this SDK version: ${D}") - return () -endif() - set(T ble_app_buttonless_dfu) -add_executable(${T} ${D}/main.c ${D}/nrf_dfu_flash_buttonless.c) -mcu_add_executable(TARGET ${T} SDK_CONFIG sdk_config.h SOFTDEVICE 130) +set(D ${MCU_NRF51_SDK_PATH}/examples/ble_peripheral/experimental_ble_app_buttonless_dfu) -_nrf5_gen_lib(${T} log ADD_TO ${T}) -_nrf5_gen_lib(${T} fds ADD_TO ${T}) -_nrf5_gen_lib(${T} button ADD_TO ${T}) -_nrf5_gen_lib(${T} sensorsim ADD_TO ${T}) -_nrf5_gen_lib(${T} ble_dfu ADD_TO ${T}) +if (NOT EXISTS ${D}) + message("${T}: Not available in this SDK version: ${D}") + return() +endif () -target_compile_definitions(${T} PUBLIC BOARD_PCA10040) -target_include_directories(${T} PUBLIC ${MCU_NRF51_SDK_PATH}/examples/bsp) +if (MCU_CHIP MATCHES "nrf51.*") + set(SOFTDEVICE 130) + set(SDK_CONFIG pca10028/s130/sdk_config.h) + set(D_BOARD BOARD_PCA10028) +elseif (MCU_CHIP MATCHES "nrf52.*") + set(SOFTDEVICE 132) + set(SDK_CONFIG pca10040/s132/sdk_config.h) + set(D_BOARD BOARD_PCA10040) +endif () -target_compile_definitions(${T}-bootloader PUBLIC BOARD_PCA10040) -target_include_directories(${T}-bootloader PUBLIC ${MCU_NRF51_SDK_PATH}/examples/bsp) +message("${T}: Configured for chip ${MCU_CHIP}, using sdk config=${SDK_CONFIG}, board define: ${D_BOARD}") -#[[ -mcu_nrf51_create_lib(PREFIX ${T} LIB util SDK_CONFIG sdk_config.h) -mcu_nrf51_create_lib(PREFIX ${T} LIB ble SDK_CONFIG sdk_config.h) -mcu_nrf51_create_softdevice(TARGET ${T}-softdevice SOFTDEVICE s130 SDK_CONFIG sdk_config.h) +if (MCU_NRF51_SDK_VERSION VERSION_GREATER 7) + list(APPEND EXTRA_SOURCE_DIRS + ${MCU_NRF51_SDK_PATH}/components/drivers_nrf/delay + ${MCU_NRF51_SDK_PATH}/components/libraries/experimental_section_vars + ${MCU_NRF51_SDK_PATH}/components/libraries/crc32) +endif () -target_link_libraries(${T}-ble ${T}-softdevice) -]] +mcu_include_directories_from_sources( + SOURCES_VAR SOURCES + HEADERS_VAR HEADERS + INCLUDES_VAR INCLUDES + SOURCE_DIR + ${MCU_NRF51_SDK_PATH}/components/ble/ble_advertising + ${MCU_NRF51_SDK_PATH}/components/ble/ble_services/ble_dfu + ${MCU_NRF51_SDK_PATH}/components/ble/common + ${MCU_NRF51_SDK_PATH}/components/ble/peer_manager + ${MCU_NRF51_SDK_PATH}/components/drivers_nrf/clock + ${MCU_NRF51_SDK_PATH}/components/drivers_nrf/common + ${MCU_NRF51_SDK_PATH}/components/drivers_nrf/gpiote + ${MCU_NRF51_SDK_PATH}/components/drivers_nrf/hal + ${MCU_NRF51_SDK_PATH}/components/libraries/button + ${MCU_NRF51_SDK_PATH}/components/libraries/fds + ${MCU_NRF51_SDK_PATH}/components/libraries/fstorage + ${MCU_NRF51_SDK_PATH}/components/libraries/log + ${MCU_NRF51_SDK_PATH}/components/libraries/scheduler + ${MCU_NRF51_SDK_PATH}/components/libraries/sensorsim + ${MCU_NRF51_SDK_PATH}/components/libraries/util + ${MCU_NRF51_SDK_PATH}/components/softdevice/common/softdevice_handler + ${EXTRA_SOURCE_DIRS} + EXCLUDE + "app_timer_freertos" + "app_error_weak_cmock" + "app_timer_rtx" +) -#[[ -target_sources(${T} PUBLIC - ${MCU_NRF51_SDK_PATH}/components/ble/ble_services/ble_dfu/ble_dfu.c) +add_executable(${T} + ${D}/main.c ${D}/nrf_dfu_flash_buttonless.c ${SDK_CONFIG} + ${MCU_NRF51_SDK_PATH}/components/libraries/bootloader/dfu/nrf_dfu_settings.c + ${MCU_NRF51_SDK_PATH}/components/libraries/timer/app_timer.c + ${MCU_NRF51_SDK_PATH}/examples/bsp/bsp.c + ${MCU_NRF51_SDK_PATH}/examples/bsp/bsp_btn_ble.c + ${SOURCES} ${HEADERS}) -target_include_directories(${T} - PUBLIC ${MCU_NRF51_SDK_PATH}/components/libraries/util) -]] +target_include_directories(${T} PUBLIC + ${INCLUDES} + ${MCU_NRF51_SDK_PATH}/examples/bsp + ${MCU_NRF51_SDK_PATH}/components/libraries/bootloader/dfu + ${MCU_NRF51_SDK_PATH}/components/libraries/timer) +target_compile_definitions(${T} PUBLIC ${D_BOARD}) +target_compile_definitions(${T} PUBLIC BLE_STACK_SUPPORT_REQD) +target_compile_definitions(${T} PUBLIC NRF_DFU_SETTINGS_VERSION=1337) # Is this correct? +target_compile_definitions(${T} PUBLIC NRF_SD_BLE_API_VERSION=3) +mcu_add_executable(TARGET ${T} SDK_CONFIG ${SDK_CONFIG} SOFTDEVICE ${SOFTDEVICE}) |