diff --git a/CMakeLists.txt b/CMakeLists.txt index 930dbfe..2c51126 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,13 @@ cmake_minimum_required(VERSION 3.13) # set(CMAKE_VERBOSE TRUE) set(CMAKE_SCRIPT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") +set(CMAKE_COMMON_SCRIPT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/example_common/cmake") + +list(APPEND CMAKE_MODULE_PATH ${CMAKE_SCRIPT_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_COMMON_SCRIPT_PATH}) + +message(STATUS ${CMAKE_MODULE_PATH}) + set(STM32_CMAKE_PATH "${CMAKE_SCRIPT_PATH}/stm32-cmake") set(STM32_CUBE_H7_PATH STM32CubeH7) set(STM32_TOOLCHAIN_PATH $ENV{STM32_TOOLCHAIN_PATH}) @@ -97,17 +104,6 @@ configure_file(${FSFW_CONFIG_PATH}/OBSWConfig.h.in OBSWConfig.h) configure_file(${BSP_NUCLEO_PATH}/Inc/FreeRTOSConfig.h.in FreeRTOSConfig.h) configure_file(${BSP_NUCLEO_PATH}/Inc/lwipopts.h.in lwipopts.h) -if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - set(WARNING_FLAGS -Wall -Wextra -Wimplicit-fallthrough=1 - -Wno-unused-parameter -Wno-psabi) - - set(FSFW_WARNING_FLAGS ${WARNING_FLAGS}) -elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") - add_compile_options(/permissive- /d2SSAOptimizer-) - # To avoid nameclashes with min and max macro - add_compile_definitions(NOMINMAX) -endif() - # ############################################################################## # Executable and Sources # ############################################################################## @@ -178,32 +174,16 @@ target_link_libraries( LwIP::IPv4 LwIP::NETIF) +include(common) +get_common_build_flags(${TARGET_NAME}) + # Add include paths for all sources. target_include_directories( ${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${FSFW_CONFIG_PATH}) -if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - target_link_options(${TARGET_NAME} PRIVATE "-Wl,-Map=${TARGET_NAME}.map") - - # Remove unused sections. - target_compile_options(${TARGET_NAME} PRIVATE "-ffunction-sections" - "-fdata-sections") - - # Removed unused sections. - if(NOT FSFW_OSAL MATCHES rtems) - target_link_options(${TARGET_NAME} PRIVATE "-Wl,--gc-sections") - endif() -elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") - -endif() - -if(CMAKE_VERBOSE) - message(STATUS "Warning flags: ${WARNING_FLAGS}") -endif() - -# Compile options for all sources. -target_compile_options(${TARGET_NAME} PRIVATE ${WARNING_FLAGS}) +target_compile_options(${TARGET_NAME} PRIVATE ${COMMON_COMPILE_OPTS} ${COMMON_WARNING_FLAGS}) +target_link_options(${TARGET_NAME} PRIVATE ${COMMON_LINK_OPTS}) if(TGT_BSP) set(TARGET_STRING "Target BSP: ${TGT_BSP}") @@ -218,7 +198,7 @@ string(CONCAT POST_BUILD_COMMENT "Build directory: ${CMAKE_BINARY_DIR}\n" stm32_add_linker_script(${TARGET_NAME} "PRIVATE" "${BSP_NUCLEO_PATH}/STM32H743ZITx_FLASH.ld") -include(${CMAKE_SCRIPT_PATH}/BuildType.cmake) +include(BuildType) set_build_type() stm32_print_size_of_target(${TARGET_NAME}) diff --git a/bsp_stm32h7_freertos/NUCLEO-H743ZI/Inc/stm32h7xx_nucleo.h b/bsp_stm32h7_freertos/NUCLEO-H743ZI/Inc/stm32h7xx_nucleo.h index 011fba3..dd57efb 100644 --- a/bsp_stm32h7_freertos/NUCLEO-H743ZI/Inc/stm32h7xx_nucleo.h +++ b/bsp_stm32h7_freertos/NUCLEO-H743ZI/Inc/stm32h7xx_nucleo.h @@ -19,6 +19,10 @@ ****************************************************************************** */ +#ifndef USE_HAL_UART_REGISTER_CALLBACKS +#define USE_HAL_UART_REGISTER_CALLBACKS 1 +#endif + /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef STM32H7XX_NUCLEO_H #define STM32H7XX_NUCLEO_H diff --git a/bsp_stm32h7_freertos/NUCLEO-H743ZI/Src/syscalls.c b/bsp_stm32h7_freertos/NUCLEO-H743ZI/Src/syscalls.c index 1db1ff1..d1e174b 100644 --- a/bsp_stm32h7_freertos/NUCLEO-H743ZI/Src/syscalls.c +++ b/bsp_stm32h7_freertos/NUCLEO-H743ZI/Src/syscalls.c @@ -55,8 +55,8 @@ int _write(int file, const void *ptr, size_t len) { HAL_UART_Transmit(&huart3, (uint8_t *)"\r", 1, DEBUG_UART_MS_TIMEOUT); } #endif - uint8_t *character = (uint8_t *)ptr; - HAL_UART_Transmit(&huart3, (uint8_t *)(character + i), 1, + const uint8_t *character = (const uint8_t *)ptr; + HAL_UART_Transmit(&huart3, (const uint8_t *)(character + i), 1, DEBUG_UART_MS_TIMEOUT); } return len; diff --git a/bsp_stm32h7_freertos/utility/print.c b/bsp_stm32h7_freertos/utility/print.c index f1674de..9dea039 100644 --- a/bsp_stm32h7_freertos/utility/print.c +++ b/bsp_stm32h7_freertos/utility/print.c @@ -2,5 +2,5 @@ #include void printChar(const char *character) { - HAL_UART_Transmit(&huart3, (uint8_t *)character, 1, DEBUG_UART_MS_TIMEOUT); + HAL_UART_Transmit(&huart3, (const uint8_t *)character, 1, DEBUG_UART_MS_TIMEOUT); } diff --git a/cmake/BuildType.cmake b/cmake/BuildType.cmake deleted file mode 100644 index e078e5c..0000000 --- a/cmake/BuildType.cmake +++ /dev/null @@ -1,45 +0,0 @@ -function(set_build_type) - -message(STATUS "Used build generator: ${CMAKE_GENERATOR}") - -# Set a default build type if none was specified -set(DEFAULT_BUILD_TYPE "RelWithDebInfo") -if(EXISTS "${CMAKE_SOURCE_DIR}/.git") - set(DEFAULT_BUILD_TYPE "Debug") -endif() - -if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - message(STATUS - "Setting build type to '${DEFAULT_BUILD_TYPE}' as none was specified." - ) - set(CMAKE_BUILD_TYPE "${DEFAULT_BUILD_TYPE}" CACHE - STRING "Choose the type of build." FORCE - ) - # Set the possible values of build type for cmake-gui - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Release" "MinSizeRel" "RelWithDebInfo" - ) -endif() - -if(${CMAKE_BUILD_TYPE} MATCHES "Debug") - message(STATUS - "Building Debug application with flags: ${CMAKE_C_FLAGS_DEBUG}" - ) -elseif(${CMAKE_BUILD_TYPE} MATCHES "RelWithDebInfo") - message(STATUS - "Building Release (Debug) application with " - "flags: ${CMAKE_C_FLAGS_RELWITHDEBINFO}" - ) -elseif(${CMAKE_BUILD_TYPE} MATCHES "MinSizeRel") - message(STATUS - "Building Release (Size) application with " - "flags: ${CMAKE_C_FLAGS_MINSIZEREL}" - ) -else() - message(STATUS - "Building Release (Speed) application with " - "flags: ${CMAKE_C_FLAGS_RELEASE}" - ) -endif() - -endfunction() diff --git a/example_common b/example_common index ff569dd..c564fa3 160000 --- a/example_common +++ b/example_common @@ -1 +1 @@ -Subproject commit ff569dd02c5915de5804914d7bfcc1d9688befca +Subproject commit c564fa37fde467a0216c041bb81eeed7343ac505 diff --git a/fsfw b/fsfw index 4440288..678f871 160000 --- a/fsfw +++ b/fsfw @@ -1 +1 @@ -Subproject commit 44402883b509f2116d48269edff3068a63c4c204 +Subproject commit 678f8710c6656c70c56f4ea6e0ee6c0195052bff diff --git a/tmtc/.gitignore b/tmtc/.gitignore new file mode 100644 index 0000000..8fd2578 --- /dev/null +++ b/tmtc/.gitignore @@ -0,0 +1 @@ +/tmtc_conf.json diff --git a/tmtc/common_tmtc b/tmtc/common_tmtc index 7d197db..3cca54f 160000 --- a/tmtc/common_tmtc +++ b/tmtc/common_tmtc @@ -1 +1 @@ -Subproject commit 7d197dbe4be46b63377936610ea0d01572c0a930 +Subproject commit 3cca54f66fe72f292787499e1e9bf2497a2cfdbf diff --git a/tmtc/def_tmtc_conf.json b/tmtc/def_tmtc_conf.json new file mode 100644 index 0000000..f2a7ced --- /dev/null +++ b/tmtc/def_tmtc_conf.json @@ -0,0 +1,4 @@ +{ + "com_if": "udp", + "tcpip_udp_recv_max_size": 1500 +} \ No newline at end of file diff --git a/tmtc/tmtc_conf.json b/tmtc/tmtc_conf.json deleted file mode 100644 index e7f7ff1..0000000 --- a/tmtc/tmtc_conf.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "com_if": "udp", - "tcpip_udp_ip_addr": "169.254.1.38", - "tcpip_udp_port": 7, - "tcpip_udp_recv_max_size": 1500 -} \ No newline at end of file diff --git a/tmtc/tmtccmd b/tmtc/tmtccmd index 890f119..2354f5d 160000 --- a/tmtc/tmtccmd +++ b/tmtc/tmtccmd @@ -1 +1 @@ -Subproject commit 890f1193240dc422ade3c4380b8b05733971001f +Subproject commit 2354f5d2778c7681ddf6602766dd4e68b943e1c0