CMake: add STM32H7 targets

pull/13915/head
Martin Kojtal 2020-11-17 15:32:24 +00:00
parent fea34ce976
commit 80161f59ca
14 changed files with 384 additions and 0 deletions

View File

@ -0,0 +1,30 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if("STM32H743xI" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_STM32H743xI)
elseif("STM32H745xI" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_STM32H745xI)
elseif("STM32H747xI" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_STM32H747xI)
elseif("STM32H7A3xIQ" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_STM32H7A3xIQ)
endif()
target_sources(mbed-core
INTERFACE
analogin_device.c
analogout_device.c
flash_api.c
gpio_irq_device.c
pwmout_device.c
serial_device.c
spi_api.c
)
add_subdirectory(STM32Cube_FW)
target_include_directories(mbed-core
INTERFACE
.
)

View File

@ -0,0 +1,134 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
target_sources(mbed-core
INTERFACE
STM32H7xx_HAL_Driver/stm32h7xx_hal.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_adc.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_adc_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_cec.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_comp.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_cordic.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_cortex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_crc.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_crc_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_cryp.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_cryp_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_dac.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_dac_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_dcmi.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_dfsdm.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_dfsdm_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_dma.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_dma2d.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_dma_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_dsi.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_dts.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_eth.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_eth_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_exti.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_fdcan.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_flash.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_flash_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_fmac.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_gfxmmu.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_gpio.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_hash.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_hash_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_hcd.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_hrtim.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_hsem.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_i2c.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_i2c_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_i2s.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_i2s_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_irda.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_iwdg.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_jpeg.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_lptim.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_ltdc.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_ltdc_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_mdios.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_mdma.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_mmc.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_mmc_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_nand.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_nor.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_opamp.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_opamp_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_ospi.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_otfdec.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_pcd.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_pcd_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_pssi.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_pwr.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_pwr_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_qspi.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_ramecc.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_rcc.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_rcc_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_rng.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_rng_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_rtc.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_rtc_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_sai.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_sai_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_sd.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_sdram.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_sd_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_smartcard.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_smartcard_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_smbus.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_spdifrx.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_spi.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_spi_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_sram.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_swpmi.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_tim.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_tim_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_uart.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_uart_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_usart.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_usart_ex.c
STM32H7xx_HAL_Driver/stm32h7xx_hal_wwdg.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_adc.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_bdma.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_comp.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_cordic.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_crc.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_crs.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_dac.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_delayblock.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_dma.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_dma2d.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_exti.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_fmac.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_fmc.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_gpio.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_hrtim.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_i2c.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_lptim.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_lpuart.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_mdma.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_opamp.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_pwr.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_rcc.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_rng.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_rtc.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_sdmmc.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_spi.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_swpmi.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_tim.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_usart.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_usb.c
STM32H7xx_HAL_Driver/stm32h7xx_ll_utils.c
system_stm32h7xx_dualcore_boot_cm4_cm7.c
system_stm32h7xx_singlecore.c
)
target_include_directories(mbed-core
INTERFACE
.
STM32H7xx_HAL_Driver
STM32H7xx_HAL_Driver/Legacy
)

View File

@ -0,0 +1,28 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if("NUCLEO_H743ZI" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_NUCLEO_H743ZI)
elseif("NUCLEO_H743ZI2" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_NUCLEO_H743ZI2)
endif()
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(STARTUP_FILE TOOLCHAIN_GCC_ARM/startup_stm32h743xx.S)
set(LINKER_FILE TOOLCHAIN_GCC_ARM/STM32H743xI.ld)
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(STARTUP_FILE TOOLCHAIN_ARM/startup_stm32h743xx.S)
set(LINKER_FILE TOOLCHAIN_ARM/stm32h743xI.sct)
endif()
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
target_sources(mbed-core
INTERFACE
${STARTUP_FILE}
)
target_include_directories(mbed-core
INTERFACE
.
)

View File

@ -0,0 +1,12 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
target_sources(mbed-core
INTERFACE
PeripheralPins.c
)
target_include_directories(mbed-core
INTERFACE
.
)

View File

@ -0,0 +1,13 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
target_sources(mbed-core
INTERFACE
PeripheralPins.c
system_clock.c
)
target_include_directories(mbed-core
INTERFACE
.
)

View File

@ -0,0 +1,13 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if("STM32H745xI_CM4" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_STM32H745xI_CM4)
elseif("STM32H745xI_CM7" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_STM32H745xI_CM7)
endif()
target_sources(mbed-core
INTERFACE
system_clock.c
)

View File

@ -0,0 +1,22 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(STARTUP_FILE TOOLCHAIN_GCC_ARM/startup_stm32h745xx.S)
set(LINKER_FILE TOOLCHAIN_GCC_ARM/STM32H745xI_CM4.ld)
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(STARTUP_FILE TOOLCHAIN_ARM/startup_stm32h745xx.S)
set(LINKER_FILE TOOLCHAIN_ARM/stm32h745xI_CM4.sct)
endif()
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
target_sources(mbed-core
INTERFACE
${STARTUP_FILE}
)
target_include_directories(mbed-core
INTERFACE
.
)

View File

@ -0,0 +1,22 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(STARTUP_FILE TOOLCHAIN_GCC_ARM/startup_stm32h745xx.S)
set(LINKER_FILE TOOLCHAIN_GCC_ARM/STM32H745xI_CM7.ld)
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(STARTUP_FILE TOOLCHAIN_ARM/startup_stm32h745xx.S)
set(LINKER_FILE TOOLCHAIN_ARM/stm32h745xI_CM7.sct)
endif()
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
target_sources(mbed-core
INTERFACE
${STARTUP_FILE}
)
target_include_directories(mbed-core
INTERFACE
.
)

View File

@ -0,0 +1,15 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if("DISCO_H747I" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_DISCO_H747I)
elseif("STM32H747xI_CM4" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_STM32H747xI_CM4)
elseif("STM32H7A3xIQ" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_STM32H7A3xIQ)
endif()
target_sources(mbed-core
INTERFACE
system_clock.c
)

View File

@ -0,0 +1,12 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
target_sources(mbed-core
INTERFACE
PeripheralPins.c
)
target_include_directories(mbed-core
INTERFACE
.
)

View File

@ -0,0 +1,22 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(STARTUP_FILE TOOLCHAIN_GCC_ARM/startup_stm32h747xx.S)
set(LINKER_FILE TOOLCHAIN_GCC_ARM/STM32H747xI_CM4.ld)
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(STARTUP_FILE TOOLCHAIN_ARM/startup_stm32h747xx.S)
set(LINKER_FILE TOOLCHAIN_ARM/stm32h747xI_CM4.sct)
endif()
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
target_sources(mbed-core
INTERFACE
${STARTUP_FILE}
)
target_include_directories(mbed-core
INTERFACE
.
)

View File

@ -0,0 +1,22 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(STARTUP_FILE TOOLCHAIN_GCC_ARM/startup_stm32h747xx.S)
set(LINKER_FILE TOOLCHAIN_GCC_ARM/STM32H747xI_CM7.ld)
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(STARTUP_FILE TOOLCHAIN_ARM/startup_stm32h747xx.S)
set(LINKER_FILE TOOLCHAIN_ARM/stm32h747xI_CM7.sct)
endif()
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
target_sources(mbed-core
INTERFACE
${STARTUP_FILE}
)
target_include_directories(mbed-core
INTERFACE
.
)

View File

@ -0,0 +1,27 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if("NUCLEO_H7A3ZI_Q" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_NUCLEO_H7A3ZI_Q)
endif()
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(STARTUP_FILE TOOLCHAIN_GCC_ARM/startup_stm32h7a3xxq.S)
set(LINKER_FILE TOOLCHAIN_GCC_ARM/stm32h7a3xxq.ld)
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(STARTUP_FILE TOOLCHAIN_ARM/startup_stm32h7a3xxq.S)
set(LINKER_FILE TOOLCHAIN_ARM/stm32h7a3xxq.sct)
endif()
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
target_sources(mbed-core
INTERFACE
system_clock.c
${STARTUP_FILE}
)
target_include_directories(mbed-core
INTERFACE
.
)

View File

@ -0,0 +1,12 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
target_sources(mbed-core
INTERFACE
PeripheralPins.c
)
target_include_directories(mbed-core
INTERFACE
.
)