diff --git a/Application/Tasks/CMakeLists.txt b/Application/Tasks/CMakeLists.txt index 439c08f..19665f2 100644 --- a/Application/Tasks/CMakeLists.txt +++ b/Application/Tasks/CMakeLists.txt @@ -1,3 +1,15 @@ -add_library(Tasks UsbDataHandler.c UsbDataHandler.h) -target_include_directories(Tasks PUBLIC ./) -target_link_libraries(Tasks PUBLIC PROTOS) \ No newline at end of file +cmake_minimum_required(VERSION 3.12) + +project(Tasks C) + +add_library(${PROJECT_NAME} STATIC "") + +target_sources(${PROJECT_NAME} + PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/UsbDataHandler.c + INTERFACE + ${CMAKE_CURRENT_LIST_DIR}/UsbDataHandler.h + ) + +target_include_directories(${PROJECT_NAME} INTERFACE ${CMAKE_CURRENT_LIST_DIR}) +target_link_libraries(${PROJECT_NAME} PUBLIC PROTOS) \ No newline at end of file diff --git a/Application/Tasks/UsbDataHandler.c b/Application/Tasks/UsbDataHandler.c index 5005ae8..fd780f9 100644 --- a/Application/Tasks/UsbDataHandler.c +++ b/Application/Tasks/UsbDataHandler.c @@ -65,7 +65,7 @@ uint16_t packetLength = 0; void UsbDataHandler_Task(void *argument); -void UsbDataHander_Start(void) { +void UsbDataHandler_Start() { /* Create the task */ osThreadId_t UsbDataHandler_TaskHandle = osThreadNew(UsbDataHandler_Task, NULL, &UsbDataHandler_TaskAttr); diff --git a/Application/Tasks/UsbDataHandler.h b/Application/Tasks/UsbDataHandler.h index 709035b..d64960a 100644 --- a/Application/Tasks/UsbDataHandler.h +++ b/Application/Tasks/UsbDataHandler.h @@ -9,12 +9,10 @@ extern "C" { #endif -void UsbDataHandler_Start(void); +void UsbDataHandler_Start(); USBD_StatusTypeDef UsbDataHandler_RxCallback(uint8_t* Buf, uint32_t Len); - - void DataClbk_FirmwareStart(void * msg, uint32_t length); void DataClbk_FirmwarePackage(void * msg, uint32_t length); void DataClbk_FirmwarePackageAck(void * msg, uint32_t length); diff --git a/CMakeLists.txt b/CMakeLists.txt index c5a8afd..4346930 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,7 +70,7 @@ add_compile_options( -Wextra -Wpedantic -Wno-unused-parameter - -flto + -flto ) add_link_options( @@ -102,13 +102,10 @@ add_compile_definitions( # Link directories setup # Must be before executable is added -link_directories(${CMAKE_PROJECT_NAME} ${link_DIRS}) # Create an executable object type -add_executable(${CMAKE_PROJECT_NAME}) # Add sources to executable -target_sources(${CMAKE_PROJECT_NAME} PUBLIC ${sources_SRCS}) # Add include paths # these options need to be applied for the hole project @@ -133,10 +130,14 @@ include_directories(${PROJECT_BINARY_DIR}) # Add linked libraries # target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC protobuf-nanopb-static) -target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC uart_driver) -target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC lwrb) -target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC PROTOS) + +add_executable(${CMAKE_PROJECT_NAME}) +target_sources(${CMAKE_PROJECT_NAME} PUBLIC ${sources_SRCS}) + target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC Tasks) +#target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC PROTOS) +target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC uart_driver) +#target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC lwrb) # Compiler options target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE @@ -153,9 +154,6 @@ target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE $<$:-O3 -g0> ) -# Linker options -target_link_options(${CMAKE_PROJECT_NAME} PRIVATE -) # Execute post-build to print size, generate hex and bin add_custom_command(TARGET ${CMAKE_PROJECT_NAME} POST_BUILD diff --git a/Core/Src/freertos.c b/Core/Src/freertos.c index adc84f4..498dc80 100644 --- a/Core/Src/freertos.c +++ b/Core/Src/freertos.c @@ -25,7 +25,7 @@ /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ - +#include "UsbDataHandler.h" /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ @@ -96,7 +96,7 @@ void MX_FREERTOS_Init(void) { defaultTaskHandle = osThreadNew(StartDefaultTask, NULL, &defaultTask_attributes); /* USER CODE BEGIN RTOS_THREADS */ - /* add threads, ... */ + UsbDataHandler_Start(); /* USER CODE END RTOS_THREADS */ /* USER CODE BEGIN RTOS_EVENTS */