Konstantin Oblaukhov 5 лет назад
Родитель
Сommit
ffd751b411
4 измененных файлов с 34 добавлено и 2 удалено
  1. 1 1
      cmake/FindCMSIS.cmake
  2. 2 0
      cmake/stm32/common.cmake
  3. 30 0
      cmake/stm32/h7.cmake
  4. 1 1
      tests/cmsis/CMakeLists.txt

+ 1 - 1
cmake/FindCMSIS.cmake

@@ -1,7 +1,7 @@
 if(NOT CMSIS_FIND_COMPONENTS)
     set(CMSIS_FIND_COMPONENTS 
         STM32F0 STM32G0 STM32L0 STM32F1 STM32L1 STM32F2 STM32F3 STM32F4 STM32G4 
-        STM32L4 STM32F7
+        STM32L4 STM32F7 STM32H7
     )
 endif()
 

+ 2 - 0
cmake/stm32/common.cmake

@@ -156,5 +156,7 @@ include(stm32/f4)
 include(stm32/g4)
 include(stm32/l4)
 include(stm32/f7)
+include(stm32/h7)
+
 
 

+ 30 - 0
cmake/stm32/h7.cmake

@@ -0,0 +1,30 @@
+# Only CM7 core is supported for now...
+
+set(STM32_H7_TYPES 
+    H743xx H753xx H750xx H742xx H745xx H755xx H747xx H757xx
+    H7A3xx H7A3xxQ H7B3xx H7B3xxQ H7B0xx H7B0xxQ
+)
+set(STM32_H7_TYPE_MATCH 
+   "H743.." "H753.." "H750.." "H742.." "H745.." "H755.." "H747.." "H757.."
+   "H7A3.." "H7A3..Q" "H7B3.." "H7B3..Q" "H7B0.." "H7B0..Q"
+)
+set(STM32_H7_RAM_SIZES
+    128K 128K 128K 128K 128K 128K 128K 128K
+    128K 128K 128K 128K 128K 128K 
+)
+set(STM32_H7_CCRAM_SIZES 
+      0K   0K   0K   0K   0K   0K   0K   0K
+      0K   0K   0K   0K   0K   0K
+)
+
+stm32_util_create_family_targets(H7)
+
+target_compile_options(STM32::H7 INTERFACE 
+    -mcpu=cortex-m7 -mfpu=fpv5-sp-d16 -mfloat-abi=hard
+)
+target_link_options(STM32::H7 INTERFACE 
+    -mcpu=cortex-m7 -mfpu=fpv5-sp-d16 -mfloat-abi=hard
+)
+target_compile_definitions(STM32::H7 INTERFACE 
+    -DCORE_CM7
+)

+ 1 - 1
tests/cmsis/CMakeLists.txt

@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.8)
 set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/stm32_gcc.cmake)
 
 if(NOT TEST_FAMILIES)
-    set(TEST_FAMILIES F0 G0 L0 F1 L1 F2 F3 F4 G4 L4 F7)
+    set(TEST_FAMILIES F0 G0 L0 F1 L1 F2 F3 F4 G4 L4 F7 H7)
 endif()
 
 project(cmsis-test C ASM)