mirror of
				https://github.com/thelsing/knx.git
				synced 2025-10-26 10:26:25 +01:00 
			
		
		
		
	* Initial commit * Clean up * Remove display code * Change cmake build * Add SimpleLink SDK for CC13xx/CC26xx as submodule * Remove commented line from build.sh * Working build * Remove SDK submodule * Squashed 'examples/knx-cc1310/coresdk_cc13xx_cc26xx/' content from commit 0d78d32 git-subtree-dir: examples/knx-cc1310/coresdk_cc13xx_cc26xx git-subtree-split: 0d78d3280357416a5c0388148cda13717c9ffaa5 * Add more comments and enable Power_idleFunc() for NoRTOS variant. Internal SDK driver functions which have to wait for something will cause Power_idleFunc to be called instead of doing busy wait. * Move CC1310 platform init around * Optimize a bit more in debug build config as the binary does not fit into 128Kb flash otherwise. * Explicitly list each source/header file in build config. Use linker group to resolve circular dependencies. * Ignore vscode settings.json * Increase stacks size * Only compile CC1310 source code if #define DeviceFamily_CC13X0 * initial commit of CC1310 RF driver with first working RX version * Better handling of buttonUp() across platforms * Start cleanup * continue cleanup * Fix bau2920 compilation * Continue cleanup * Fix compilation in other examples * Fix compilation * htons() and ntohs() only for SAMD and STM32, but not for Linux and ESP8266 and ESP32 * htons(9 and ntohs() needed for CC13x0 * Continue cleanup * Add CC1310 platform to CI * Fix CI * Use more recent toolchain from ARM * Fix travis * Use Ubuntu Focal * Fix toolchain for travis * Fix package name * Fix toolchain * Add libstdc++-dev package * Add newlib packages * Remove commented commands from CI * Fix travis * Fix compilation of knxPython * Clean up linefeeds * Fix RX callback * Move RF CRC16-DNP to bits.cpp * Fix TX * Optimization: do not calc CRC for block1 again in rf_data_link_layer * Make newline optional in printHex * Cleanup. First working version: ETS5 programming of individual address via KNX/RF coupler. * Use LEDs and Buttons to control ProgMode and Flash Erase * Remove settings.json (VScode) * Add README.md * Update README.md * Update README.md * Fix typo
		
			
				
	
	
		
			211 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			211 lines
		
	
	
		
			6.8 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/address_table_object.cpp
 | |
|     ../../src/knx/address_table_object.h
 | |
|     ../../src/knx/aes.c
 | |
|     ../../src/knx/aes.h
 | |
|     ../../src/knx/aes.hpp
 | |
|     ../../src/knx/apdu.cpp
 | |
|     ../../src/knx/apdu.h
 | |
|     ../../src/knx/application_layer.cpp
 | |
|     ../../src/knx/application_layer.h
 | |
|     ../../src/knx/application_program_object.cpp
 | |
|     ../../src/knx/application_program_object.h
 | |
|     ../../src/knx/association_table_object.cpp
 | |
|     ../../src/knx/association_table_object.h
 | |
|     ../../src/knx/bau.cpp
 | |
|     ../../src/knx/bau.h
 | |
|     ../../src/knx/bau07B0.cpp
 | |
|     ../../src/knx/bau07B0.h
 | |
|     ../../src/knx/bau091A.cpp
 | |
|     ../../src/knx/bau091A.h
 | |
|     ../../src/knx/bau27B0.cpp
 | |
|     ../../src/knx/bau27B0.h
 | |
|     ../../src/knx/bau2920.cpp
 | |
|     ../../src/knx/bau2920.h
 | |
|     ../../src/knx/bau57B0.cpp
 | |
|     ../../src/knx/bau57B0.h
 | |
|     ../../src/knx/bau_systemB.cpp
 | |
|     ../../src/knx/bau_systemB.h
 | |
|     ../../src/knx/bau_systemB_device.cpp
 | |
|     ../../src/knx/bau_systemB_device.h
 | |
|     ../../src/knx/bau_systemB_coupler.cpp
 | |
|     ../../src/knx/bau_systemB_coupler.h
 | |
|     ../../src/knx/bits.cpp
 | |
|     ../../src/knx/bits.h
 | |
|     ../../src/knx/callback_property.h
 | |
|     ../../src/knx/cemi_frame.cpp
 | |
|     ../../src/knx/cemi_frame.h
 | |
|     ../../src/knx/cemi_server.cpp
 | |
|     ../../src/knx/cemi_server.h
 | |
|     ../../src/knx/cemi_server_object.cpp
 | |
|     ../../src/knx/cemi_server_object.h
 | |
|     ../../src/knx/config.h
 | |
|     ../../src/knx/data_link_layer.cpp
 | |
|     ../../src/knx/data_link_layer.h
 | |
|     ../../src/knx/data_property.cpp
 | |
|     ../../src/knx/data_property.h
 | |
|     ../../src/knx/device_object.cpp
 | |
|     ../../src/knx/device_object.h
 | |
|     ../../src/knx/dpt.cpp
 | |
|     ../../src/knx/dpt.h
 | |
|     ../../src/knx/dptconvert.cpp
 | |
|     ../../src/knx/dptconvert.h
 | |
|     ../../src/knx/function_property.h
 | |
|     ../../src/knx/group_object.cpp
 | |
|     ../../src/knx/group_object.h
 | |
|     ../../src/knx/group_object_table_object.cpp
 | |
|     ../../src/knx/group_object_table_object.h
 | |
|     ../../src/knx/interface_object.cpp
 | |
|     ../../src/knx/interface_object.h
 | |
|     ../../src/knx/ip_data_link_layer.cpp
 | |
|     ../../src/knx/ip_data_link_layer.h
 | |
|     ../../src/knx/ip_parameter_object.cpp
 | |
|     ../../src/knx/ip_parameter_object.h
 | |
|     ../../src/knx/knx_ip_device_information_dib.cpp
 | |
|     ../../src/knx/knx_ip_device_information_dib.h
 | |
|     ../../src/knx/knx_ip_dib.cpp
 | |
|     ../../src/knx/knx_ip_dib.h
 | |
|     ../../src/knx/knx_ip_frame.cpp
 | |
|     ../../src/knx/knx_ip_frame.h
 | |
|     ../../src/knx/knx_ip_routing_indication.cpp
 | |
|     ../../src/knx/knx_ip_routing_indication.h
 | |
|     ../../src/knx/knx_ip_search_request.cpp
 | |
|     ../../src/knx/knx_ip_search_request.h
 | |
|     ../../src/knx/knx_ip_search_response.cpp
 | |
|     ../../src/knx/knx_ip_search_response.h
 | |
|     ../../src/knx/knx_ip_supported_service_dib.cpp
 | |
|     ../../src/knx/knx_ip_supported_service_dib.h
 | |
|     ../../src/knx/ip_host_protocol_address_information.cpp
 | |
|     ../../src/knx/ip_host_protocol_address_information.h
 | |
|     ../../src/knx/knx_types.h
 | |
|     ../../src/knx/knx_value.cpp
 | |
|     ../../src/knx/knx_value.h
 | |
|     ../../src/knx/memory.cpp
 | |
|     ../../src/knx/memory.h
 | |
|     ../../src/knx/network_layer.cpp
 | |
|     ../../src/knx/network_layer.h
 | |
|     ../../src/knx/network_layer_coupler.cpp
 | |
|     ../../src/knx/network_layer_coupler.h
 | |
|     ../../src/knx/network_layer_device.cpp
 | |
|     ../../src/knx/network_layer_device.h
 | |
|     ../../src/knx/network_layer_entity.cpp
 | |
|     ../../src/knx/network_layer_entity.h
 | |
|     ../../src/knx/npdu.cpp
 | |
|     ../../src/knx/npdu.h
 | |
|     ../../src/knx/platform.cpp
 | |
|     ../../src/knx/platform.h
 | |
|     ../../src/knx/property.cpp
 | |
|     ../../src/knx/property.h
 | |
|     ../../src/knx/rf_data_link_layer.cpp
 | |
|     ../../src/knx/rf_data_link_layer.h
 | |
|     ../../src/knx/rf_medium_object.cpp
 | |
|     ../../src/knx/rf_medium_object.h
 | |
|     ../../src/knx/rf_physical_layer_cc1310.cpp
 | |
|     ../../src/knx/rf_physical_layer_cc1310.h
 | |
|     ../../src/knx/rf_physical_layer.h
 | |
|     ../../src/knx/router_object.cpp
 | |
|     ../../src/knx/router_object.h
 | |
|     ../../src/knx/secure_application_layer.cpp
 | |
|     ../../src/knx/secure_application_layer.h
 | |
|     ../../src/knx/security_interface_object.cpp
 | |
|     ../../src/knx/security_interface_object.h
 | |
|     ../../src/knx/simple_map.h
 | |
|     ../../src/knx/save_restore.h
 | |
|     ../../src/knx/table_object.cpp
 | |
|     ../../src/knx/table_object.h
 | |
|     ../../src/knx/tpdu.cpp
 | |
|     ../../src/knx/tpdu.h
 | |
|     ../../src/knx/tpuart_data_link_layer.cpp
 | |
|     ../../src/knx/tpuart_data_link_layer.h
 | |
|     ../../src/knx/transport_layer.cpp
 | |
|     ../../src/knx/transport_layer.h
 | |
|     ../../src/knx/usb_tunnel_interface.cpp
 | |
|     ../../src/knx/usb_tunnel_interface.h
 | |
|     ../../src/knx_facade.cpp
 | |
|     ../../src/knx_facade.h
 | |
|     ../../src/cc1310_platform.cpp
 | |
|     ../../src/knx_facade.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)
 | |
| 
 | |
| 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)
 | |
| 
 |