From 1f2bb47391729eb6eb60e2010bde9a6354495f3f Mon Sep 17 00:00:00 2001 From: Martin Kojtal Date: Tue, 17 Nov 2020 15:02:36 +0000 Subject: [PATCH] CMake: add STM32G0 targets --- .../TARGET_STM/TARGET_STM32G0/CMakeLists.txt | 34 ++++++++ .../STM32Cube_FW/CMakeLists.txt | 78 +++++++++++++++++++ .../TARGET_STM32G030xx/CMakefileLists.txt | 22 ++++++ .../TARGET_STM32G031xx/CMakeLists.txt | 26 +++++++ .../TARGET_NUCLEO_G031K8/CMakeLists.txt | 13 ++++ .../TARGET_STM32G041xx/CMakeLists.txt | 22 ++++++ .../TARGET_STM32G070xx/CMakeLists.txt | 22 ++++++ .../TARGET_STM32G071xx/CMakeLists.txt | 26 +++++++ .../TARGET_NUCLEO_G071RB/CMakeLists.txt | 13 ++++ .../TARGET_STM32G081xx/CMakeLists.txt | 22 ++++++ 10 files changed, 278 insertions(+) create mode 100644 targets/TARGET_STM/TARGET_STM32G0/CMakeLists.txt create mode 100644 targets/TARGET_STM/TARGET_STM32G0/STM32Cube_FW/CMakeLists.txt create mode 100644 targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G030xx/CMakefileLists.txt create mode 100644 targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G031xx/CMakeLists.txt create mode 100644 targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G031xx/TARGET_NUCLEO_G031K8/CMakeLists.txt create mode 100644 targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G041xx/CMakeLists.txt create mode 100644 targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G070xx/CMakeLists.txt create mode 100644 targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G071xx/CMakeLists.txt create mode 100644 targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G071xx/TARGET_NUCLEO_G071RB/CMakeLists.txt create mode 100644 targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G081xx/CMakeLists.txt diff --git a/targets/TARGET_STM/TARGET_STM32G0/CMakeLists.txt b/targets/TARGET_STM/TARGET_STM32G0/CMakeLists.txt new file mode 100644 index 0000000000..0ab6ea6239 --- /dev/null +++ b/targets/TARGET_STM/TARGET_STM32G0/CMakeLists.txt @@ -0,0 +1,34 @@ +# Copyright (c) 2020 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +if("STM32G030xx" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_STM32G030xx) +elseif("STM32G031xx" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_STM32G031xx) +elseif("STM32G041xx" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_STM32G041xx) +elseif("STM32G070xx" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_STM32G070xx) +elseif("STM32G071xx" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_STM32G071xx) +elseif("STM32G081xx" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_STM32G081xx) +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 + . +) diff --git a/targets/TARGET_STM/TARGET_STM32G0/STM32Cube_FW/CMakeLists.txt b/targets/TARGET_STM/TARGET_STM32G0/STM32Cube_FW/CMakeLists.txt new file mode 100644 index 0000000000..b8cd8ca0d3 --- /dev/null +++ b/targets/TARGET_STM/TARGET_STM32G0/STM32Cube_FW/CMakeLists.txt @@ -0,0 +1,78 @@ +# Copyright (c) 2020 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +target_sources(mbed-core + INTERFACE + + STM32G0xx_HAL_Driver/stm32g0xx_hal.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_adc.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_adc_ex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_cec.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_comp.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_cortex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_crc.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_crc_ex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_cryp.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_cryp_ex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_dac.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_dac_ex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_dma.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_dma_ex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_exti.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_flash.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_flash_ex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_gpio.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_i2c.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_i2c_ex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_i2s.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_irda.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_iwdg.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_lptim.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_pwr.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_pwr_ex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_rcc.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_rcc_ex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_rng.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_rtc.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_rtc_ex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_smartcard.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_smartcard_ex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_smbus.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_spi.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_spi_ex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_tim.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_tim_ex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_uart.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_uart_ex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_usart.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_usart_ex.c + STM32G0xx_HAL_Driver/stm32g0xx_hal_wwdg.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_adc.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_comp.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_crc.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_dac.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_dma.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_exti.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_gpio.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_i2c.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_lptim.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_lpuart.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_pwr.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_rcc.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_rng.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_rtc.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_spi.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_tim.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_ucpd.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_usart.c + STM32G0xx_HAL_Driver/stm32g0xx_ll_utils.c + system_stm32g0xx.c +) + +target_include_directories(mbed-core + INTERFACE + . + CMSIS + STM32G0xx_HAL_Driver + STM32G0xx_HAL_Driver/Legacy +) diff --git a/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G030xx/CMakefileLists.txt b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G030xx/CMakefileLists.txt new file mode 100644 index 0000000000..6171fde01b --- /dev/null +++ b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G030xx/CMakefileLists.txt @@ -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_stm32g030xx.S) + set(LINKER_FILE TOOLCHAIN_GCC_ARM/stm32g030xx.ld) +elseif(${MBED_TOOLCHAIN} STREQUAL "ARM") + set(STARTUP_FILE TOOLCHAIN_ARM/startup_stm32g030xx.S) + set(LINKER_FILE TOOLCHAIN_ARM/stm32g030xx.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 + . +) diff --git a/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G031xx/CMakeLists.txt b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G031xx/CMakeLists.txt new file mode 100644 index 0000000000..7a284a56a8 --- /dev/null +++ b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G031xx/CMakeLists.txt @@ -0,0 +1,26 @@ +# Copyright (c) 2020 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +if("NUCLEO_G031K8" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_NUCLEO_G031K8) +endif() + +if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") + set(STARTUP_FILE TOOLCHAIN_GCC_ARM/startup_stm32g031xx.S) + set(LINKER_FILE TOOLCHAIN_GCC_ARM/stm32g031xx.ld) +elseif(${MBED_TOOLCHAIN} STREQUAL "ARM") + set(STARTUP_FILE TOOLCHAIN_ARM/startup_stm32g031xx.S) + set(LINKER_FILE TOOLCHAIN_ARM/stm32g031xx.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 + . +) diff --git a/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G031xx/TARGET_NUCLEO_G031K8/CMakeLists.txt b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G031xx/TARGET_NUCLEO_G031K8/CMakeLists.txt new file mode 100644 index 0000000000..3a805bbdaa --- /dev/null +++ b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G031xx/TARGET_NUCLEO_G031K8/CMakeLists.txt @@ -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 + . +) diff --git a/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G041xx/CMakeLists.txt b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G041xx/CMakeLists.txt new file mode 100644 index 0000000000..3f06cd0144 --- /dev/null +++ b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G041xx/CMakeLists.txt @@ -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_stm32g041xx.S) + set(LINKER_FILE TOOLCHAIN_GCC_ARM/stm32g041xx.ld) +elseif(${MBED_TOOLCHAIN} STREQUAL "ARM") + set(STARTUP_FILE TOOLCHAIN_ARM/startup_stm32g041xx.S) + set(LINKER_FILE TOOLCHAIN_ARM/stm32g041xx.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 + . +) diff --git a/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G070xx/CMakeLists.txt b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G070xx/CMakeLists.txt new file mode 100644 index 0000000000..1af56589b3 --- /dev/null +++ b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G070xx/CMakeLists.txt @@ -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_stm32g070xx.S) + set(LINKER_FILE TOOLCHAIN_GCC_ARM/stm32g070xx.ld) +elseif(${MBED_TOOLCHAIN} STREQUAL "ARM") + set(STARTUP_FILE TOOLCHAIN_ARM/startup_stm32g070xx.S) + set(LINKER_FILE TOOLCHAIN_ARM/stm32g070xx.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 + . +) diff --git a/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G071xx/CMakeLists.txt b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G071xx/CMakeLists.txt new file mode 100644 index 0000000000..a7204cd375 --- /dev/null +++ b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G071xx/CMakeLists.txt @@ -0,0 +1,26 @@ +# Copyright (c) 2020 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +if("NUCLEO_G071RB" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_NUCLEO_G071RB) +endif() + +if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") + set(STARTUP_FILE TOOLCHAIN_GCC_ARM/startup_stm32g071xx.S) + set(LINKER_FILE TOOLCHAIN_GCC_ARM/stm32g071xx.ld) +elseif(${MBED_TOOLCHAIN} STREQUAL "ARM") + set(STARTUP_FILE TOOLCHAIN_ARM/startup_stm32g071xx.S) + set(LINKER_FILE TOOLCHAIN_ARM/stm32g071xx.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 + . +) diff --git a/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G071xx/TARGET_NUCLEO_G071RB/CMakeLists.txt b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G071xx/TARGET_NUCLEO_G071RB/CMakeLists.txt new file mode 100644 index 0000000000..3a805bbdaa --- /dev/null +++ b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G071xx/TARGET_NUCLEO_G071RB/CMakeLists.txt @@ -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 + . +) diff --git a/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G081xx/CMakeLists.txt b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G081xx/CMakeLists.txt new file mode 100644 index 0000000000..fb127744a3 --- /dev/null +++ b/targets/TARGET_STM/TARGET_STM32G0/TARGET_STM32G081xx/CMakeLists.txt @@ -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_stm32g081xx.S) + set(LINKER_FILE TOOLCHAIN_GCC_ARM/stm32g081xx.ld) +elseif(${MBED_TOOLCHAIN} STREQUAL "ARM") + set(STARTUP_FILE TOOLCHAIN_ARM/startup_stm32g081xx.S) + set(LINKER_FILE TOOLCHAIN_ARM/stm32g081xx.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 + . +)