| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- STRING(TOLOWER ${STM32_FAMILY} STM32_FAMILY_LOWER)
- IF(STM32_FAMILY STREQUAL "F1")
- SET(CMSIS_STARTUP_PREFIX startup_stm32f10x_)
- SET(CMSIS_HEADERS system_stm32f10x.h core_cm3.h stm32f10x.h)
- SET(CMSIS_LINKER_SCRIPT_NAME stm32f1_flash.ld.in)
- SET(CMSIS_SRCS system_stm32f10x.c)
- ELSEIF(STM32_FAMILY STREQUAL "F4")
- SET(CMSIS_STARTUP_PREFIX startup_stm32f)
- SET(CMSIS_HEADERS system_stm32f4xx.h core_cm4.h stm32f4xx.h)
- SET(CMSIS_LINKER_SCRIPT_NAME stm32f4.ld.in)
- SET(CMSIS_SRCS system_stm32f4xx.c)
- ENDIF()
- IF(STM32_CHIP_TYPE OR STM32_CHIP)
- IF(NOT STM32_CHIP_TYPE)
- STM32_GET_CHIP_TYPE(${STM32_CHIP} STM32_CHIP_TYPE)
- IF(NOT STM32_CHIP_TYPE)
- MESSAGE(FATAL_ERROR "Unknown chip: ${STM32_CHIP}. Try to use STM32_CHIP_TYPE directly.")
- ENDIF()
- MESSAGE(STATUS "${STM32_CHIP} is ${STM32_CHIP_TYPE} device")
- ENDIF()
- STRING(TOLOWER ${STM32_CHIP_TYPE} STM32_CHIP_TYPE_LOWER)
-
- SET(CMSIS_STARTUP_NAME ${CMSIS_STARTUP_PREFIX}${STM32_CHIP_TYPE_LOWER}.s)
- ENDIF()
- FIND_PATH(CMSIS_INCLUDE_DIR ${CMSIS_HEADERS}
- PATH_SUFFIXES include stm32${STM32_FAMILY_LOWER}
- )
- FIND_FILE(CMSIS_LINKER_SCRIPT ${CMSIS_LINKER_SCRIPT_NAME}
- PATHS ${CMAKE_FIND_ROOT_PATH}
- PATH_SUFFIXES share/cmsis cmsis
- )
- FOREACH(CMSIS_SRC ${CMSIS_SRCS})
- FIND_FILE(CMSIS_SRC_FILE NAMES ${CMSIS_SRC} PATHS ${CMAKE_FIND_ROOT_PATH} PATH_SUFFIXES share/cmsis cmsis)
- LIST(APPEND CMSIS_SOURCES ${CMSIS_SRC_FILE})
- ENDFOREACH()
- IF(STM32_CHIP_TYPE)
- FIND_FILE(CMSIS_STARTUP_SOURCE
- ${CMSIS_STARTUP_NAME}
- PATHS ${CMAKE_FIND_ROOT_PATH}/share/cmsis/
- )
- LIST(APPEND CMSIS_SOURCES ${CMSIS_STARTUP_SOURCE})
- ENDIF()
- INCLUDE(FindPackageHandleStandardArgs)
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(CMSIS DEFAULT_MSG CMSIS_INCLUDE_DIR CMSIS_LINKER_SCRIPT CMSIS_SOURCES)
|