|
|
@@ -1,8 +1,14 @@
|
|
|
-set(STM32_SUPPORTED_FAMILIES
|
|
|
- F0 F1 F2 F3 F4 F7
|
|
|
- G0 G4
|
|
|
- H7_M4 H7_M7
|
|
|
- L0 L1 L4)
|
|
|
+set(STM32_SUPPORTED_FAMILIES_LONG_NAME
|
|
|
+ STM32F0 STM32F1 STM32F2 STM32F3 STM32F4 STM32F7
|
|
|
+ STM32G0 STM32G4
|
|
|
+ STM32H7_M4 STM32H7_M7
|
|
|
+ STM32L0 STM32L1 STM32L4)
|
|
|
+
|
|
|
+foreach(FAMILY ${STM32_SUPPORTED_FAMILIES_LONG_NAME})
|
|
|
+ string(REGEX MATCH "^STM32([A-Z][0-9])_?(M[47])?" FAMILY ${FAMILY})
|
|
|
+ list(APPEND STM32_SUPPORTED_FAMILIES_SHORT_NAME ${CMAKE_MATCH_1})
|
|
|
+endforeach()
|
|
|
+list(REMOVE_DUPLICATES STM32_SUPPORTED_FAMILIES_SHORT_NAME)
|
|
|
|
|
|
if(NOT STM32_TOOLCHAIN_PATH)
|
|
|
set(STM32_TOOLCHAIN_PATH "/usr")
|
|
|
@@ -62,16 +68,10 @@ function(stm32_get_chip_info CHIP)
|
|
|
set(STM32_FAMILY ${CMAKE_MATCH_1})
|
|
|
set(STM32_DEVICE "${CMAKE_MATCH_1}${CMAKE_MATCH_2}")
|
|
|
|
|
|
- foreach(FAMILY_CANDIDATE ${STM32_SUPPORTED_FAMILIES})
|
|
|
- string(REGEX MATCH "^([A-Z][0-9])_?(M[47])?" FAMILY_CANDIDATE ${FAMILY})
|
|
|
- if(${STM32_FAMILY} EQUAL ${CMAKE_MATCH_1})
|
|
|
- set(IS_VALID_FAMILY TRUE)
|
|
|
- endif()
|
|
|
- endforeach()
|
|
|
- if (NOT IS_VALID_FAMILY)
|
|
|
+
|
|
|
+ if(NOT (${STM32_FAMILY} IN_LIST STM32_SUPPORTED_FAMILIES_SHORT_NAME))
|
|
|
message(FATAL_ERROR "Unsupported family ${STM32_FAMILY} for device ${CHIP}")
|
|
|
endif()
|
|
|
- unset(IS_VALID_FAMILY)
|
|
|
|
|
|
stm32_get_chip_type(${STM32_FAMILY} ${STM32_DEVICE} STM32_TYPE)
|
|
|
|