| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- IF(STM32_FAMILY STREQUAL "F1")
- SET(HAL_COMPONENTS adc can cec cortex crc dac dma eth flash gpio hcd i2c
- i2s irda iwdg nand nor pccard pcd pwr rcc rtc sd smartcard
- spi sram tim uart usart wwdg fsmc sdmmc usb)
- SET(HAL_REQUIRED_COMPONENTS cortex pwr rcc)
- # Components that have _ex sources
- SET(HAL_EX_COMPONENTS adc dac flash gpio pcd rcc rtc tim)
- # Components that have ll_ in names instead of hal_
- SET(HAL_LL_COMPONENTS fsmc sdmmc usb)
- SET(HAL_PREFIX stm32f1xx_)
- SET(HAL_HEADERS
- stm32f1xx_hal.h
- stm32f1xx_hal_def.h
- )
- SET(HAL_SRCS
- stm32f1xx_hal.c
- )
- ELSEIF(STM32_FAMILY STREQUAL "F2")
- SET(HAL_COMPONENTS adc can cortex crc cryp dac dcmi dma eth flash
- gpio hash hcd i2c i2s irda iwdg nand nor pccard
- pcd pwr rcc rng rtc sd smartcard spi sram tim
- uart sart wwdg fsmc sdmmc usbb)
- SET(HAL_REQUIRED_COMPONENTS cortex pwr rcc)
- # Components that have _ex sources
- SET(HAL_EX_COMPONENTS adc dac dma flash pwr rcc rtc tim)
- # Components that have ll_ in names instead of hal_
- SET(HAL_LL_COMPONENTS fsmc sdmmc usb)
- SET(HAL_PREFIX stm32f2xx_)
- SET(HAL_HEADERS
- stm32f2xx_hal.h
- stm32f2xx_hal_def.h
- )
- SET(HAL_SRCS
- stm32f2xx_hal.c
- )
- ELSEIF(STM32_FAMILY STREQUAL "F4")
- SET(HAL_COMPONENTS adc can cec cortex crc cryp dac dcmi dma dma2d eth flash
- flash_ramfunc fmpi2c gpio hash hcd i2c i2s irda iwdg ltdc
- nand nor pccard pcd pwr qspi rcc rng rtc sai sd sdram
- smartcard spdifrx spi sram tim uart usart wwdg fmc fsmc
- sdmmc usb)
- SET(HAL_REQUIRED_COMPONENTS cortex pwr rcc)
- # Components that have _ex sources
- SET(HAL_EX_COMPONENTS adc cryp dac dcmi dma flash fmpi2c hash i2c i2s pcd
- pwr rcc rtc sai tim)
- # Components that have ll_ in names instead of hal_
- SET(HAL_LL_COMPONENTS fmc fsmc sdmmc usb)
- SET(HAL_PREFIX stm32f4xx_)
- SET(HAL_HEADERS
- stm32f4xx_hal.h
- stm32f4xx_hal_def.h
- )
- SET(HAL_SRCS
- stm32f4xx_hal.c
- )
- ENDIF()
- IF(NOT STM32HAL_FIND_COMPONENTS)
- SET(STM32HAL_FIND_COMPONENTS ${HAL_COMPONENTS})
- MESSAGE(STATUS "No STM32HAL components selected, using all: ${STM32HAL_FIND_COMPONENTS}")
- ENDIF()
- FOREACH(cmp ${HAL_REQUIRED_COMPONENTS})
- LIST(FIND STM32HAL_FIND_COMPONENTS ${cmp} STM32HAL_FOUND_INDEX)
- IF(${STM32HAL_FOUND_INDEX} LESS 0)
- LIST(APPEND STM32HAL_FIND_COMPONENTS ${cmp})
- ENDIF()
- ENDFOREACH()
- FOREACH(cmp ${STM32HAL_FIND_COMPONENTS})
- LIST(FIND HAL_COMPONENTS ${cmp} STM32HAL_FOUND_INDEX)
- IF(${STM32HAL_FOUND_INDEX} LESS 0)
- MESSAGE(FATAL_ERROR "Unknown STM32HAL component: ${cmp}. Available components: ${HAL_COMPONENTS}")
- ENDIF()
- LIST(FIND HAL_LL_COMPONENTS ${cmp} STM32HAL_FOUND_INDEX)
- IF(${STM32HAL_FOUND_INDEX} LESS 0)
- LIST(APPEND HAL_HEADERS ${HAL_PREFIX}hal_${cmp}.h)
- LIST(APPEND HAL_SRCS ${HAL_PREFIX}hal_${cmp}.c)
- ELSE()
- LIST(APPEND HAL_HEADERS ${HAL_PREFIX}ll_${cmp}.h)
- LIST(APPEND HAL_SRCS ${HAL_PREFIX}ll_${cmp}.c)
- ENDIF()
- LIST(FIND HAL_EX_COMPONENTS ${cmp} STM32HAL_FOUND_INDEX)
- IF(NOT (${STM32HAL_FOUND_INDEX} LESS 0))
- LIST(APPEND HAL_HEADERS ${HAL_PREFIX}hal_${cmp}_ex.h)
- LIST(APPEND HAL_SRCS ${HAL_PREFIX}hal_${cmp}_ex.c)
- ENDIF()
- ENDFOREACH()
- LIST(REMOVE_DUPLICATES HAL_HEADERS)
- LIST(REMOVE_DUPLICATES HAL_SRCS)
- STRING(TOLOWER ${STM32_FAMILY} STM32_FAMILY_LOWER)
- FIND_PATH(STM32HAL_INCLUDE_DIR ${HAL_HEADERS}
- PATH_SUFFIXES include stm32${STM32_FAMILY_LOWER}
- HINTS ${STM32Cube_DIR}/Drivers/STM32${STM32_FAMILY}xx_HAL_Driver/Inc
- CMAKE_FIND_ROOT_PATH_BOTH
- )
- FOREACH(HAL_SRC ${HAL_SRCS})
- SET(HAL_${HAL_SRC}_FILE HAL_SRC_FILE-NOTFOUND)
- FIND_FILE(HAL_${HAL_SRC}_FILE ${HAL_SRC}
- PATH_SUFFIXES src stm32${STM32_FAMILY_LOWER}
- HINTS ${STM32Cube_DIR}/Drivers/STM32${STM32_FAMILY}xx_HAL_Driver/Src
- CMAKE_FIND_ROOT_PATH_BOTH
- )
- LIST(APPEND STM32HAL_SOURCES ${HAL_${HAL_SRC}_FILE})
- ENDFOREACH()
- INCLUDE(FindPackageHandleStandardArgs)
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(STM32HAL DEFAULT_MSG STM32HAL_INCLUDE_DIR STM32HAL_SOURCES)
|