diff --git a/arch/arm/src/stm32h7/CMakeLists.txt b/arch/arm/src/stm32h7/CMakeLists.txt new file mode 100644 index 0000000000..27ed366f2d --- /dev/null +++ b/arch/arm/src/stm32h7/CMakeLists.txt @@ -0,0 +1,178 @@ +# ############################################################################## +# arch/arm/src/stm32h7/CMakeLists.txt +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +set(SRCS) + +list( + APPEND + SRCS + stm32_allocateheap.c + stm32_exti_gpio.c + stm32_gpio.c + stm32_irq.c + stm32_start.c + stm32_rcc.c + stm32_lowputc.c + stm32_serial.c + stm32_uid.c +) + +if(CONFIG_STM32H7_PROGMEM) + list(APPEND SRCS stm32_flash.c) +endif() + +if(CONFIG_SCHED_TICKLESS) + list(APPEND SRCS stm32_tickless.c) +else() + list(APPEND SRCS stm32_timerisr.c) +endif() + +if(CONFIG_STM32H7_ONESHOT) + list(APPEND SRCS stm32_oneshot.c stm32_oneshot_lowerhalf.c) +endif() + +if(CONFIG_BUILD_PROTECTED) + list(APPEND SRCS stm32_userspace.c stm32_mpuinit.c) +endif() + +if(CONFIG_ARMV7M_DTCM) + list(APPEND SRCS stm32_dtcm.c) +endif() + +if(CONFIG_STM32H7_ADC) + list(APPEND SRCS stm32_adc.c) +endif() + +if(CONFIG_STM32H7_FDCAN) + list(APPEND SRCS stm32_fdcan_sock.c) +endif() + +if(CONFIG_STM32H7_BBSRAM) + list(APPEND SRCS stm32_bbsram.c) +endif() + +if(CONFIG_STM32H7_DMA) + list(APPEND SRCS stm32_dma.c) +endif() + +if(CONFIG_STM32H7_FMC) + list(APPEND SRCS stm32_fmc.c) +endif() + +if(CONFIG_STM32H7_IWDG OR CONFIG_STM32H7_RTC_LSICLOCK) + list(APPEND SRCS stm32_lsi.c) +endif() + +if(CONFIG_STM32H7_RTC_LSECLOCK) + list(APPEND SRCS stm32_lse.c) +endif() + +if(CONFIG_STM32H7_I2C) + list(APPEND SRCS stm32_i2c.c) +endif() + +if(CONFIG_STM32H7_PWR) + list(APPEND SRCS stm32_pwr.c) +endif() + +if(CONFIG_STM32H7_QUADSPI) + list(APPEND SRCS stm32_qspi.c) +endif() + +if(CONFIG_STM32H7_RTC) + list(APPEND SRCS stm32_rtc.c) + if(CONFIG_RTC_ALARM) + list(APPEND SRCS stm32_exti_alarm.c) + endif() + if(CONFIG_RTC_PERIODIC) + list(APPEND SRCS stm32_exti_wakeup.c) + endif() + if(CONFIG_RTC_DRIVER) + list(APPEND SRCS stm32_rtc_lowerhalf.c) + endif() +endif() + +if(CONFIG_STM32H7_SPI) + list(APPEND SRCS stm32_spi.c) +endif() + +if(CONFIG_SPI_SLAVE) + list(APPEND SRCS stm32_spi_slave.c) +endif() + +if(CONFIG_STM32H7_SDMMC) + list(APPEND SRCS stm32_sdmmc.c) +endif() + +if(CONFIG_TIMER) + list(APPEND SRCS stm32_tim_lowerhalf.c) +endif() + +if(CONFIG_USBDEV) + list(APPEND SRCS stm32_otgdev.c) +endif() + +if(CONFIG_USBHOST) + list(APPEND SRCS stm32_otghost.c) + if(CONFIG_USBHOST_TRACE) + list(APPEND SRCS stm32_usbhost.c) + else() + if(CONFIG_DEBUG_USB) + list(APPEND SRCS stm32_usbhost.c) + endif() + endif() +endif() + +if(CONFIG_STM32H7_TIM) + list(APPEND SRCS stm32_tim.c) +endif() + +if(CONFIG_STM32H7_LPTIM) + list(APPEND SRCS stm32_lptim.c) +endif() + +if(CONFIG_STM32H7_PWM) + list(APPEND SRCS stm32_pwm.c) +endif() + +if(CONFIG_STM32H7_ETHMAC) + list(APPEND SRCS stm32_ethernet.c) +endif() + +if(CONFIG_SENSORS_QENCODER) + list(APPEND SRCS stm32_qencoder.c) +endif() + +if(CONFIG_PM) + list(APPEND SRCS stm32_pmsleep.c stm32_pmstandby.c stm32_pmstop.c) + if(NOT CONFIG_ARCH_CUSTOM_PMINIT) + list(APPEND SRCS stm32_pminitialize.c) + endif() +endif() + +if(CONFIG_STM32H7_IWDG) + list(APPEND SRCS stm32_iwdg.c) +endif() + +if(CONFIG_STM32H7_WWDG) + list(APPEND SRCS stm32_wwdg.c) +endif() + +target_sources(arch PRIVATE ${SRCS}) diff --git a/boards/arm/stm32h7/nucleo-h743zi/CMakeLists.txt b/boards/arm/stm32h7/nucleo-h743zi/CMakeLists.txt new file mode 100644 index 0000000000..7ddad094bc --- /dev/null +++ b/boards/arm/stm32h7/nucleo-h743zi/CMakeLists.txt @@ -0,0 +1,21 @@ +# ############################################################################## +# boards/arm/stm32h7/nucleo-h743zi/CMakeLists.txt +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +add_subdirectory(src) diff --git a/boards/arm/stm32h7/nucleo-h743zi/src/CMakeLists.txt b/boards/arm/stm32h7/nucleo-h743zi/src/CMakeLists.txt new file mode 100644 index 0000000000..4d704c8836 --- /dev/null +++ b/boards/arm/stm32h7/nucleo-h743zi/src/CMakeLists.txt @@ -0,0 +1,130 @@ +# ############################################################################## +# boards/arm/stm32h7/nucleo-h743zi/src/CMakeLists.txt +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +set(SRCS stm32_boot.c stm32_bringup.c) + +if(CONFIG_ADC) + list(APPEND SRCS stm32_adc.c) +endif() + +if(CONFIG_ARCH_LEDS) + list(APPEND SRCS stm32_autoleds.c) +else() + list(APPEND SRCS stm32_userleds.c) +endif() + +if(CONFIG_ARCH_BUTTONS) + list(APPEND SRCS stm32_buttons.c) +endif() + +if(CONFIG_STM32_ROMFS) + list(APPEND SRCS stm32_romfs_initialize.c) +endif() + +if(CONFIG_STM32H7_SPI) + list(APPEND SRCS stm32_spi.c) +endif() + +if(CONFIG_STM32H7_OTGFS) + list(APPEND SRCS stm32_usb.c) +endif() + +if(CONFIG_BOARDCTL_UNIQUEID) + list(APPEND SRCS stm32_uid.c) +endif() + +if(CONFIG_SENSORS_LSM6DSL) + list(APPEND SRCS stm32_lsm6dsl.c) +endif() + +if(CONFIG_SENSORS_LSM9DS1) + list(APPEND SRCS stm32_lsm9ds1.c) +endif() + +if(CONFIG_SENSORS_LSM303AGR) + list(APPEND SRCS stm32_lsm303agr.c) +endif() + +if(CONFIG_PCA9635PW) + list(APPEND SRCS stm32_pca9635.c) +endif() + +if(CONFIG_LCD_SSD1306) + list(APPEND SRCS stm32_ssd1306.c) +endif() + +if(CONFIG_BOARDCTL) + list(APPEND SRCS stm32_appinitialize.c) +endif() + +if(CONFIG_STM32H7_PROGMEM) + list(APPEND SRCS stm32_progmem.c) +endif() + +if(CONFIG_WL_NRF24L01) + list(APPEND SRCS stm32_nrf24l01.c) +endif() + +if(CONFIG_DEV_GPIO) + list(APPEND SRCS stm32_gpio.c) +endif() + +if(CONFIG_PWM) + list(APPEND SRCS stm32_pwm.c) +endif() + +if(CONFIG_BOARDCTL_RESET) + list(APPEND SRCS stm32_reset.c) +endif() + +if(CONFIG_BOARDCTL_BOOT_IMAGE) + list(APPEND SRCS stm32_boot_image.c) +endif() + +if(CONFIG_USBMSC) + list(APPEND SRCS stm32_usbmsc.c) +endif() + +if(CONFIG_USBDEV_COMPOSITE) + list(APPEND SRCS stm32_composite.c) +endif() + +if(CONFIG_MMCSD) + list(APPEND SRCS stm32_mmcsd.c) +endif() + +target_sources(board PRIVATE ${SRCS}) + +if(CONFIG_STM32_APP_FORMAT_MCUBOOT) + if(CONFIG_MCUBOOT_BOOTLOADER) + set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/flash-mcuboot-loader.ld") + else() + set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/flash-mcuboot-app.ld") + endif() +else() + set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/flash.ld") +endif() + +if(NOT CONFIG_BUILD_FLAT) + add_subdirectory(${NUTTX_BOARD_DIR}/kernel) + set_property( + GLOBAL PROPERTY LD_SCRIPT_USER ${NUTTX_BOARD_DIR}/scripts/memory.ld + ${NUTTX_BOARD_DIR}/scripts/user-space.ld) +endif() diff --git a/boards/arm/stm32h7/nucleo-h743zi2/CMakeLists.txt b/boards/arm/stm32h7/nucleo-h743zi2/CMakeLists.txt new file mode 100644 index 0000000000..858773b733 --- /dev/null +++ b/boards/arm/stm32h7/nucleo-h743zi2/CMakeLists.txt @@ -0,0 +1,21 @@ +# ############################################################################## +# boards/arm/stm32h7/nucleo-h743zi2/CMakeLists.txt +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +add_subdirectory(src) diff --git a/boards/arm/stm32h7/nucleo-h743zi2/src/CMakeLists.txt b/boards/arm/stm32h7/nucleo-h743zi2/src/CMakeLists.txt new file mode 100644 index 0000000000..34e3e29b16 --- /dev/null +++ b/boards/arm/stm32h7/nucleo-h743zi2/src/CMakeLists.txt @@ -0,0 +1,67 @@ +# ############################################################################## +# boards/arm/stm32h7/nucleo-h743zi2/src/CMakeLists.txt +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +set(SRCS stm32_boot.c stm32_bringup.c) + +if(CONFIG_ADC) + list(APPEND SRCS stm32_adc.c) +endif() + +if(CONFIG_ARCH_LEDS) + list(APPEND SRCS stm32_autoleds.c) +else() + list(APPEND SRCS stm32_userleds.c) +endif() + +if(CONFIG_STM32H7_OTGFS) + list(APPEND SRCS stm32_usb.c) +endif() + +if(CONFIG_BOARDCTL) + list(APPEND SRCS stm32_appinitialize.c) +endif() + +if(CONFIG_DEV_GPIO) + list(APPEND SRCS stm32_gpio.c) +endif() + +if(CONFIG_PWM) + list(APPEND SRCS stm32_pwm.c) +endif() + +if(CONFIG_SENSORS_QENCODER) + list(APPEND SRCS stm32_qencoder.c) +endif() + +if(CONFIG_BOARDCTL_RESET) + list(APPEND SRCS stm32_reset.c) +endif() + +target_sources(board PRIVATE ${SRCS}) + +set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/flash.ld") + +if(NOT CONFIG_BUILD_FLAT) + add_subdirectory(${NUTTX_BOARD_DIR}/kernel) + set_property( + GLOBAL PROPERTY LD_SCRIPT_USER ${NUTTX_BOARD_DIR}/scripts/memory.ld + ${NUTTX_BOARD_DIR}/scripts/user-space.ld) +endif() + diff --git a/boards/arm/stm32h7/stm32h747i-disco/CMakeLists.txt b/boards/arm/stm32h7/stm32h747i-disco/CMakeLists.txt new file mode 100644 index 0000000000..5798035294 --- /dev/null +++ b/boards/arm/stm32h7/stm32h747i-disco/CMakeLists.txt @@ -0,0 +1,21 @@ +# ############################################################################## +# boards/arm/stm32h7/stm32h747i-disco/CMakeLists.txt +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +add_subdirectory(src) diff --git a/boards/arm/stm32h7/stm32h747i-disco/src/CMakeLists.txt b/boards/arm/stm32h7/stm32h747i-disco/src/CMakeLists.txt new file mode 100644 index 0000000000..2bf988cc9d --- /dev/null +++ b/boards/arm/stm32h7/stm32h747i-disco/src/CMakeLists.txt @@ -0,0 +1,70 @@ +# ############################################################################## +# boards/arm/stm32h7/stm32h747i-disco/src/CMakeLists.txt +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +set(SRCS stm32_boot.c stm32_bringup.c) + +if(CONFIG_ADC) + list(APPEND SRCS stm32_adc.c) +endif() + +if(CONFIG_ARCH_LEDS) + list(APPEND SRCS stm32_autoleds.c) +else() + list(APPEND SRCS stm32_userleds.c) +endif() + +if(CONFIG_ARCH_BUTTONS) + list(APPEND SRCS stm32_buttons.c) +endif() + +if(CONFIG_STM32H7_SPI) + list(APPEND SRCS stm32_spi.c) +endif() + +if(CONFIG_STM32H7_OTGHS) + list(APPEND SRCS stm32_usb.c) +endif() + +if(CONFIG_BOARDCTL_UNIQUEID) + list(APPEND SRCS stm32_uid.c) +endif() + +if(CONFIG_BOARDCTL) + list(APPEND SRCS stm32_appinitialize.c) +endif() + +if(CONFIG_STM32H7_SDMMC) + list(APPEND SRCS stm32_sdmmc.c) +endif() + +if(CONFIG_FAT_DMAMEMORY) + list(APPEND SRCS stm32_dma_alloc.c) +endif() + +target_sources(board PRIVATE ${SRCS}) + +set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/flash.ld") + +if(NOT CONFIG_BUILD_FLAT) + add_subdirectory(${NUTTX_BOARD_DIR}/kernel) + set_property( + GLOBAL PROPERTY LD_SCRIPT_USER ${NUTTX_BOARD_DIR}/scripts/memory.ld + ${NUTTX_BOARD_DIR}/scripts/user-space.ld) +endif()