mirror of
https://github.com/thelsing/knx.git
synced 2024-12-18 19:08:18 +01:00
175 lines
6.3 KiB
CMake
175 lines
6.3 KiB
CMake
##
|
|
## KNX for CC1310
|
|
##
|
|
|
|
cmake_minimum_required(VERSION 3.12)
|
|
|
|
if(NOT DEFINED CMAKE_TOOLCHAIN_FILE)
|
|
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/toolchain-arm-none-eabi.cmake")
|
|
endif()
|
|
|
|
project(knx-cc1310 C CXX ASM)
|
|
|
|
# Generate a "compile_commands.json" file containing the exact compiler calls for all translation units of the project in machine-readable form.
|
|
# Useful for C/CPP extension of VS code
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
# Use <Package>_ROOT variables for locating in find_path, find_package, etc.
|
|
cmake_policy(SET CMP0074 NEW)
|
|
|
|
# Append current directory to CMAKE_MODULE_PATH for making device specific cmake modules visible
|
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake)
|
|
message("CMAKE_MODULE_PATH: ${CMAKE_MODULE_PATH}")
|
|
|
|
# Configure Toolchain for CC13xx
|
|
set(LINKER_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/CC1310_LAUNCHXL_NoRTOS.lds")
|
|
include(cc13xx)
|
|
|
|
set(SimpleLinkCC13X0SDKnortos_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/coresdk_cc13xx_cc26xx")
|
|
message("SimpleLinkCC13X0SDKnortos_ROOT: ${SimpleLinkCC13X0SDKnortos_ROOT}")
|
|
|
|
# Find dependencies
|
|
find_package(SimpleLinkCC13X0SDKnortos REQUIRED)
|
|
|
|
#
|
|
# Target
|
|
#
|
|
|
|
set(${PROJECT_NAME}_SOURCES
|
|
../../src/knx/interface_object/address_table_object.cpp
|
|
../../src/knx/interface_object/address_table_object.h
|
|
../../src/knx/util/aes.c
|
|
../../src/knx/util/aes.h
|
|
../../src/knx/util/aes.hpp
|
|
../../src/knx/util/logger.h
|
|
../../src/knx/util/logger.cpp
|
|
../../src/knx/application_layer/apdu.cpp
|
|
../../src/knx/application_layer/apdu.h
|
|
../../src/knx/application_layer/application_layer.cpp
|
|
../../src/knx/application_layer/application_layer.h
|
|
../../src/knx/interface_object/application_program_object.cpp
|
|
../../src/knx/interface_object/application_program_object.h
|
|
../../src/knx/interface_object/association_table_object.cpp
|
|
../../src/knx/interface_object/association_table_object.h
|
|
../../src/knx/bau/bau.cpp
|
|
../../src/knx/bau/bau.h
|
|
../../src/knx/rf/bau27B0.cpp
|
|
../../src/knx/rf/bau27B0.h
|
|
../../src/knx/bau/bau_systemB.cpp
|
|
../../src/knx/bau/bau_systemB.h
|
|
../../src/knx/bau/bau_systemB_device.cpp
|
|
../../src/knx/bau/bau_systemB_device.h
|
|
../../src/knx/bits.cpp
|
|
../../src/knx/bits.h
|
|
../../src/knx/interface_object/callback_property.h
|
|
../../src/knx/datalink_layer/cemi_frame.cpp
|
|
../../src/knx/datalink_layer/cemi_frame.h
|
|
../../src/knx/config.h
|
|
../../src/knx/datalink_layer/data_link_layer.cpp
|
|
../../src/knx/datalink_layer/data_link_layer.h
|
|
../../src/knx/interface_object/data_property.cpp
|
|
../../src/knx/interface_object/data_property.h
|
|
../../src/knx/interface_object/device_object.cpp
|
|
../../src/knx/interface_object/device_object.h
|
|
../../src/knx/group_object/dpt/dpt.cpp
|
|
../../src/knx/group_object/dpt/dpt.h
|
|
../../src/knx/group_object/dpt/dptconvert.cpp
|
|
../../src/knx/group_object/dpt/dptconvert.h
|
|
../../src/knx/group_object/dpt/dpt1.cpp
|
|
../../src/knx/group_object/dpt/dpt1.h
|
|
../../src/knx/group_object/dpt/dpts.h
|
|
../../src/knx/interface_object/function_property.h
|
|
../../src/knx/group_object/group_object.cpp
|
|
../../src/knx/group_object/group_object.h
|
|
../../src/knx/interface_object/group_object_table_object.cpp
|
|
../../src/knx/interface_object/group_object_table_object.h
|
|
../../src/knx/interface_object/interface_object.cpp
|
|
../../src/knx/interface_object/interface_object.h
|
|
../../src/knx/knx_types.h
|
|
../../src/knx/group_object/knx_value.cpp
|
|
../../src/knx/group_object/knx_value.h
|
|
../../src/knx/util/memory.cpp
|
|
../../src/knx/util/memory.h
|
|
../../src/knx/network_layer/network_layer.cpp
|
|
../../src/knx/network_layer/network_layer.h
|
|
../../src/knx/network_layer/network_layer_device.cpp
|
|
../../src/knx/network_layer/network_layer_device.h
|
|
../../src/knx/network_layer/network_layer_entity.cpp
|
|
../../src/knx/network_layer/network_layer_entity.h
|
|
../../src/knx/network_layer/npdu.cpp
|
|
../../src/knx/network_layer/npdu.h
|
|
../../src/knx/platform/platform.cpp
|
|
../../src/knx/platform/platform.h
|
|
../../src/knx/interface_object/property.cpp
|
|
../../src/knx/interface_object/property.h
|
|
../../src/knx/rf/rf_data_link_layer.cpp
|
|
../../src/knx/rf/rf_data_link_layer.h
|
|
../../src/knx/rf/rf_medium_object.cpp
|
|
../../src/knx/rf/rf_medium_object.h
|
|
../../src/knx/rf/rf_physical_layer_cc1310.cpp
|
|
../../src/knx/rf/rf_physical_layer_cc1310.h
|
|
../../src/knx/rf/rf_physical_layer.h
|
|
../../src/knx/data_secure/secure_application_layer.cpp
|
|
../../src/knx/data_secure/secure_application_layer.h
|
|
../../src/knx/data_secure/security_interface_object.cpp
|
|
../../src/knx/data_secure/security_interface_object.h
|
|
../../src/knx/util/simple_map.h
|
|
../../src/knx/util/save_restore.h
|
|
../../src/knx/interface_object/table_object.cpp
|
|
../../src/knx/interface_object/table_object.h
|
|
../../src/knx/transport_layer/tpdu.cpp
|
|
../../src/knx/transport_layer/tpdu.h
|
|
../../src/knx/transport_layer/transport_layer.cpp
|
|
../../src/knx/transport_layer/transport_layer.h
|
|
../../src/knx/knx_facade.cpp
|
|
../../src/knx/knx_facade.h
|
|
../../src/knx/platform/cc1310_platform.cpp
|
|
../../src/knx/knx_types.h
|
|
../../src/knx/knx_types.cpp
|
|
./RTT/SEGGER_RTT_Conf.h
|
|
./RTT/SEGGER_RTT_printf.c
|
|
./RTT/SEGGER_RTT.c
|
|
./RTT/SEGGER_RTT.h
|
|
./RTT/SEGGER_RTT_ASM_ARMv7M.S
|
|
./smartrf_settings/smartrf_settings.c
|
|
./smartrf_settings/smartrf_settings.h
|
|
./CC1310_LAUNCHXL_fxns.c
|
|
./CC1310_LAUNCHXL.c
|
|
./CC1310_LAUNCHXL.h
|
|
./knx_wrapper.cpp
|
|
./knx_wrapper.h
|
|
./ccfg.c
|
|
./main_nortos.c
|
|
./startup_cc13xx_cc26xx_gcc.c
|
|
)
|
|
|
|
include_directories(
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../src
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../src/knx
|
|
${CMAKE_CURRENT_SOURCE_DIR}/RTT
|
|
${SimpleLinkCC13X0SDK_INCLUDE_DIRS}
|
|
)
|
|
|
|
add_definitions(-DMASK_VERSION=0x27B0 -Wno-unknown-pragmas -DKNX_NO_PRINT)
|
|
|
|
add_executable(${PROJECT_NAME}
|
|
${${PROJECT_NAME}_SOURCES}
|
|
)
|
|
|
|
target_link_libraries(${PROJECT_NAME}
|
|
-Wl,--start-group
|
|
${SimpleLinkCC13X0SDK_drivers_cc13x0_LIBRARY}
|
|
${SimpleLinkCC13X0SDK_dpl_cc13x0_LIBRARY}
|
|
${SimpleLinkCC13X0SDK_driverlib_LIBRARY}
|
|
${SimpleLinkCC13X0SDK_rf_singleMode_cc13x0_LIBRARY}
|
|
-Wl,--end-group
|
|
gcc
|
|
m
|
|
nosys
|
|
c
|
|
)
|
|
|
|
target_compile_definitions(${PROJECT_NAME} PUBLIC -DDeviceFamily_CC13X0 -DRF_SINGLEMODE -DKNX_FLASH_SIZE=2048)
|
|
|