diff --git a/.gitmodules b/.gitmodules index abf1439a9..6a75df141 100644 --- a/.gitmodules +++ b/.gitmodules @@ -67,3 +67,9 @@ [submodule "hw/mcu/st/stm32f7xx_hal_driver"] path = hw/mcu/st/stm32f7xx_hal_driver url = https://github.com/STMicroelectronics/stm32f7xx_hal_driver.git +[submodule "hw/mcu/st/cmsis_device_h7"] + path = hw/mcu/st/cmsis_device_h7 + url = https://github.com/STMicroelectronics/cmsis_device_h7.git +[submodule "hw/mcu/st/stm32h7xx_hal_driver"] + path = hw/mcu/st/stm32h7xx_hal_driver + url = https://github.com/STMicroelectronics/stm32h7xx_hal_driver.git diff --git a/hw/bsp/stm32h743eval/board.mk b/hw/bsp/stm32h743eval/board.mk index 543b40a30..87de060c5 100644 --- a/hw/bsp/stm32h743eval/board.mk +++ b/hw/bsp/stm32h743eval/board.mk @@ -23,21 +23,22 @@ endif # suppress warning caused by vendor mcu driver CFLAGS += -Wno-error=maybe-uninitialized -Wno-error=cast-align -ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32H7xx_HAL_Driver -ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32H7xx +ST_FAMILY = h7 +ST_CMSIS = hw/mcu/st/cmsis_device_$(ST_FAMILY) +ST_HAL_DRIVER = hw/mcu/st/stm32$(ST_FAMILY)xx_hal_driver # All source paths should be relative to the top level. LD_FILE = hw/bsp/$(BOARD)/STM32H743XIHx_FLASH.ld SRC_C += \ - $(ST_CMSIS)/Source/Templates/system_stm32h7xx.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_cortex.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_rcc.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_rcc_ex.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_gpio.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_uart.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_pwr_ex.c + $(ST_CMSIS)/Source/Templates/system_stm32$(ST_FAMILY)xx.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_cortex.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_rcc.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_rcc_ex.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_gpio.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_uart.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_pwr_ex.c SRC_S += \ $(ST_CMSIS)/Source/Templates/gcc/startup_stm32h743xx.s diff --git a/hw/bsp/stm32h743nucleo/board.mk b/hw/bsp/stm32h743nucleo/board.mk index 43a4999a4..eade0f09a 100644 --- a/hw/bsp/stm32h743nucleo/board.mk +++ b/hw/bsp/stm32h743nucleo/board.mk @@ -12,21 +12,22 @@ CFLAGS += \ # suppress warning caused by vendor mcu driver CFLAGS += -Wno-error=maybe-uninitialized -Wno-error=cast-align -ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32H7xx_HAL_Driver -ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32H7xx +ST_FAMILY = h7 +ST_CMSIS = hw/mcu/st/cmsis_device_$(ST_FAMILY) +ST_HAL_DRIVER = hw/mcu/st/stm32$(ST_FAMILY)xx_hal_driver # All source paths should be relative to the top level. LD_FILE = hw/bsp/$(BOARD)/STM32H743ZITx_FLASH.ld SRC_C += \ - $(ST_CMSIS)/Source/Templates/system_stm32h7xx.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_cortex.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_rcc.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_rcc_ex.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_gpio.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_uart.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_pwr_ex.c + $(ST_CMSIS)/Source/Templates/system_stm32$(ST_FAMILY)xx.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_cortex.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_rcc.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_rcc_ex.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_gpio.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_uart.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_pwr_ex.c SRC_S += \ $(ST_CMSIS)/Source/Templates/gcc/startup_stm32h743xx.s diff --git a/hw/bsp/stm32h745disco/board.mk b/hw/bsp/stm32h745disco/board.mk index eb87e7461..8489748c7 100644 --- a/hw/bsp/stm32h745disco/board.mk +++ b/hw/bsp/stm32h745disco/board.mk @@ -18,21 +18,22 @@ CFLAGS += \ # suppress warning caused by vendor mcu driver CFLAGS += -Wno-error=maybe-uninitialized -Wno-error=cast-align -ST_HAL_DRIVER = hw/mcu/st/st_driver/STM32H7xx_HAL_Driver -ST_CMSIS = hw/mcu/st/st_driver/CMSIS/Device/ST/STM32H7xx +ST_FAMILY = h7 +ST_CMSIS = hw/mcu/st/cmsis_device_$(ST_FAMILY) +ST_HAL_DRIVER = hw/mcu/st/stm32$(ST_FAMILY)xx_hal_driver # All source paths should be relative to the top level. LD_FILE = hw/bsp/$(BOARD)/STM32H74xXIHx_FLASH.ld SRC_C += \ - $(ST_CMSIS)/Source/Templates/system_stm32h7xx.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_cortex.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_rcc.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_rcc_ex.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_gpio.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_uart.c \ - $(ST_HAL_DRIVER)/Src/stm32h7xx_hal_pwr_ex.c + $(ST_CMSIS)/Source/Templates/system_stm32$(ST_FAMILY)xx.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_cortex.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_rcc.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_rcc_ex.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_gpio.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_uart.c \ + $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_pwr_ex.c SRC_S += \ $(ST_CMSIS)/Source/Templates/gcc/startup_stm32h745xx.s diff --git a/hw/mcu/st/cmsis_device_h7 b/hw/mcu/st/cmsis_device_h7 new file mode 160000 index 000000000..60dc2c913 --- /dev/null +++ b/hw/mcu/st/cmsis_device_h7 @@ -0,0 +1 @@ +Subproject commit 60dc2c913203dc8629dc233d4384dcc41c91e77f diff --git a/hw/mcu/st/stm32h7xx_hal_driver b/hw/mcu/st/stm32h7xx_hal_driver new file mode 160000 index 000000000..d8461b980 --- /dev/null +++ b/hw/mcu/st/stm32h7xx_hal_driver @@ -0,0 +1 @@ +Subproject commit d8461b980b59b1625207d8c4f2ce0a9c2a7a3b04