|
|
@@ -0,0 +1,85 @@
|
|
|
+IF(STM32_FAMILY STREQUAL "F4")
|
|
|
+ IF(STM_BOARD STREQUAL "STM32F429I-Discovery")
|
|
|
+ SET(BSP_COMPONENTS eeprom
|
|
|
+ gyroscope
|
|
|
+ io
|
|
|
+ lcd
|
|
|
+ sdram
|
|
|
+ ts)
|
|
|
+ SET(BSP_PREFIX stm32f429i_discovery_)
|
|
|
+ SET(BSP_HEADERS stm32f429i_discovery.h)
|
|
|
+ SET(BSP_SRC stm32f429i_discovery.c)
|
|
|
+ ENDIF()
|
|
|
+ set(COMMON_COMPONENTS ampire480272
|
|
|
+ ampire640480
|
|
|
+ cs43l22
|
|
|
+ exc7200
|
|
|
+ ili9325
|
|
|
+ ili9341
|
|
|
+ l3gd20
|
|
|
+ lis302dl
|
|
|
+ lis3dsh
|
|
|
+ lsm303dlhc
|
|
|
+ mfxstm32l152
|
|
|
+ n25q256a
|
|
|
+ ov2640
|
|
|
+ s5k5cag
|
|
|
+ st7735
|
|
|
+ stmpe1600
|
|
|
+ stmpe811
|
|
|
+ ts3510
|
|
|
+ wm8994
|
|
|
+ )
|
|
|
+ENDIF()
|
|
|
+
|
|
|
+IF(NOT STM32BSP_FIND_COMPONENTS)
|
|
|
+ SET(STM32BSP_FIND_COMPONENTS ${BSP_COMPONENTS} ${COMMON_COMPONENTS})
|
|
|
+ MESSAGE(STATUS "No STM32BSP components selected, using all: ${STM32BSP_FIND_COMPONENTS}")
|
|
|
+ENDIF()
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+FOREACH(cmp ${STM32BSP_FIND_COMPONENTS})
|
|
|
+ LIST(FIND BSP_COMPONENTS ${cmp} STM32BSP_FOUND_INDEX)
|
|
|
+ IF(${STM32BSP_FOUND_INDEX} LESS 0)
|
|
|
+ LIST(FIND COMMON_COMPONENTS ${cmp} COMMON_FOUND_INDEX)
|
|
|
+ IF(${COMMON_FOUND_INDEX} LESS 0)
|
|
|
+ MESSAGE(FATAL_ERROR "Unknown STM32BSP component: ${cmp}. Available components: ${BSP_COMPONENTS} and ${COMMON_COMPONENTS}")
|
|
|
+ ELSE()
|
|
|
+ LIST(APPEND BSP_COMMON_HEADER ${cmp}.h)
|
|
|
+ LIST(APPEND BSP_SRC ${cmp}.c)
|
|
|
+ ENDIF()
|
|
|
+ ELSE()
|
|
|
+ LIST(APPEND BSP_HEADERS ${BSP_PREFIX}${cmp}.h)
|
|
|
+ LIST(APPEND BSP_SRC ${BSP_PREFIX}${cmp}.c)
|
|
|
+ ENDIF()
|
|
|
+ENDFOREACH()
|
|
|
+
|
|
|
+FIND_PATH(STM32BSP_INCLUDE_DIR ${BSP_HEADERS}
|
|
|
+ HINTS ${STM32Cube_DIR}/Drivers/BSP/${STM_BOARD}
|
|
|
+ CMAKE_FIND_ROOT_PATH_BOTH
|
|
|
+ )
|
|
|
+
|
|
|
+FOREACH(cmp ${BSP_COMMON_HEADERS})
|
|
|
+ FIND_PATH(STM32BSP_${cmp}_INCLUDE_DIR ${cmp}
|
|
|
+ HINTS ${STM32Cube_DIR}/Drivers/BSP/Components
|
|
|
+ PATH_SUFFIXES ${cmp}
|
|
|
+ CMAKE_FIND_ROOT_PATH_BOTH
|
|
|
+ )
|
|
|
+ LIST(APPEND BSP_HEADERS ${STM32BSP_${cmp}_INCLUDE_DIR})
|
|
|
+ENDFOREACH()
|
|
|
+
|
|
|
+FOREACH(file ${BSP_SRC})
|
|
|
+ STRING(REPLACE ".c" "" subfolder ${file})
|
|
|
+ FIND_FILE(BSP_${file}_FILE ${file}
|
|
|
+ HINTS ${STM32Cube_DIR}/Drivers/BSP/${STM_BOARD} ${STM32Cube_DIR}/Drivers/BSP/Components
|
|
|
+ PATH_SUFFIXES ${subfolder}
|
|
|
+ CMAKE_FIND_ROOT_PATH_BOTH
|
|
|
+ )
|
|
|
+ MESSAGE(STATUS "BSP file is " ${BSP_${file}_FILE})
|
|
|
+ LIST(APPEND STM32BSP_SOURCES ${BSP_${file}_FILE})
|
|
|
+ENDFOREACH()
|
|
|
+
|
|
|
+INCLUDE(FindPackageHandleStandardArgs)
|
|
|
+
|
|
|
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(STM32BSP DEFAULT_MSG STM32BSP_INCLUDE_DIR STM32BSP_SOURCES)
|