| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- IF(STM32_FAMILY STREQUAL "F0")
- SET(PORT_GCC_DIR_SUFFIX "CM0")
- ELSEIF(STM32_FAMILY STREQUAL "F1")
- SET(PORT_GCC_DIR_SUFFIX "CM3")
- ELSEIF(STM32_FAMILY STREQUAL "F2")
- SET(PORT_GCC_DIR_SUFFIX "CM3")
- ELSEIF(STM32_FAMILY STREQUAL "F3")
- SET(PORT_GCC_DIR_SUFFIX "CM4F")
- ELSEIF(STM32_FAMILY STREQUAL "F4")
- SET(PORT_GCC_DIR_SUFFIX "CM4F")
- ELSEIF(STM32_FAMILY STREQUAL "F7")
- SET(PORT_GCC_DIR_SUFFIX "CM7")
- ELSEIF(STM32_FAMILY STREQUAL "H7")
- SET(PORT_GCC_DIR_SUFFIX "CM7/r0p1")
- ELSEIF(STM32_FAMILY STREQUAL "L0")
- SET(PORT_GCC_DIR_SUFFIX "CM0")
- ELSEIF(STM32_FAMILY STREQUAL "L1")
- SET(PORT_GCC_DIR_SUFFIX "CM4F")
- ENDIF()
- SET(FREERTOS_SRC_FILES
- croutine.c
- event_groups.c
- list.c
- queue.c
- tasks.c
- timers.c
- )
- SET(FREERTOS_HEADERS
- croutine.h
- deprecated_definitions.h
- event_groups.h
- FreeRTOS.h
- list.h
- mpu_prototypes.h
- mpu_wrappers.h
- portable.h
- projdefs.h
- queue.h
- semphr.h
- StackMacros.h
- task.h
- timers.h
- )
- IF(FREERTOS_CMSIS_V2)
- SET(CMSIS_OS_SRC_FILE cmsis_os1.c)
- ELSE()
- SET(CMSIS_OS_SRC_FILE cmsis_os.c)
- ENDIF()
- SET(CMSIS_OS_INC_FILE cmsis_os.h)
- SET(PORT_ARM_SRC_FILE port.c)
- SET(PORTMACRO_ARM_HEADER portmacro.h)
- IF(NOT FREERTOS_HEAP_IMPL)
- MESSAGE(FATAL_ERROR "FREERTOS_HEAP_IMPL not defined. Define it to include proper heap implementation file.")
- ELSE()
- SET(HEAP_IMP_FILE heap_${FREERTOS_HEAP_IMPL}.c)
- ENDIF()
- FIND_PATH(FREERTOS_COMMON_INC_DIR ${FREERTOS_HEADERS}
- PATH_SUFFIXES include
- HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FreeRTOS/Source
- CMAKE_FIND_ROOT_PATH_BOTH
- )
- SET(CMSIS_OS_INC_DIR CMSIS_OS_INC_DIR-NOTFOUND)
- IF(FREERTOS_CMSIS_V2)
- FIND_PATH(CMSIS_OS_INC_DIR ${CMSIS_OS_INC_FILE}
- PATH_SUFFIXES CMSIS_RTOS_V2
- HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FreeRTOS/Source
- CMAKE_FIND_ROOT_PATH_BOTH
- )
- ELSE()
- FIND_PATH(CMSIS_OS_INC_DIR ${CMSIS_OS_INC_FILE}
- PATH_SUFFIXES CMSIS_RTOS
- HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FreeRTOS/Source
- CMAKE_FIND_ROOT_PATH_BOTH
- )
- ENDIF()
- FIND_PATH(PORTMACRO_INC_DIR ${PORTMACRO_ARM_HEADER}
- PATH_SUFFIXES ARM_${PORT_GCC_DIR_SUFFIX}
- HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC
- CMAKE_FIND_ROOT_PATH_BOTH
- )
- FOREACH(SRC ${FREERTOS_SRC_FILES})
- STRING(MAKE_C_IDENTIFIER "${SRC}" SRC_CLEAN)
- SET(FREERTOS_${SRC_CLEAN}_FILE FREERTOS_SRC_FILE-NOTFOUND)
- FIND_FILE(FREERTOS_${SRC_CLEAN}_FILE ${SRC}
- HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FreeRTOS/Source
- CMAKE_FIND_ROOT_PATH_BOTH
- )
- LIST(APPEND FREERTOS_SOURCES ${FREERTOS_${SRC_CLEAN}_FILE})
- ENDFOREACH()
- SET(CMSIS_OS_SOURCE ${CMSIS_OS_SRC_FILE}-NOTFOUND)
- IF(FREERTOS_CMSIS_V2)
- FIND_FILE(CMSIS_OS_SOURCE ${CMSIS_OS_SRC_FILE}
- PATH_SUFFIXES CMSIS_RTOS_V2
- HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FreeRTOS/Source
- CMAKE_FIND_ROOT_PATH_BOTH
- )
- ELSE()
- FIND_FILE(CMSIS_OS_SOURCE ${CMSIS_OS_SRC_FILE}
- PATH_SUFFIXES CMSIS_RTOS
- HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FreeRTOS/Source
- CMAKE_FIND_ROOT_PATH_BOTH
- )
- ENDIF()
- FIND_FILE(PORT_ARM_SOURCE ${PORT_ARM_SRC_FILE}
- PATH_SUFFIXES ARM_${PORT_GCC_DIR_SUFFIX}
- HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC
- CMAKE_FIND_ROOT_PATH_BOTH
- )
- FIND_FILE(HEAP_IMP_SOURCE ${HEAP_IMP_FILE}
- PATH_SUFFIXES MemMang
- HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FreeRTOS/Source/portable
- CMAKE_FIND_ROOT_PATH_BOTH
- )
- SET(FreeRTOS_INCLUDE_DIRS
- ${FREERTOS_COMMON_INC_DIR}
- ${CMSIS_OS_INC_DIR}
- ${PORTMACRO_INC_DIR}
- )
- SET(FreeRTOS_SOURCES
- ${FREERTOS_SOURCES}
- ${CMSIS_OS_SOURCE}
- ${PORT_ARM_SOURCE}
- ${HEAP_IMP_SOURCE}
- )
- INCLUDE(FindPackageHandleStandardArgs)
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(FreeRTOS DEFAULT_MSG FreeRTOS_INCLUDE_DIRS FreeRTOS_SOURCES)
|