diff --git a/boards/stm32f746g-disco/Makefile.features b/boards/stm32f746g-disco/Makefile.features index cebfc5d744..a9cb5df7a4 100644 --- a/boards/stm32f746g-disco/Makefile.features +++ b/boards/stm32f746g-disco/Makefile.features @@ -1,17 +1,4 @@ CPU = stm32 CPU_MODEL = stm32f746ng -# Put defined MCU peripherals here (in alphabetical order) -FEATURES_PROVIDED += periph_dma -FEATURES_PROVIDED += periph_eth -FEATURES_PROVIDED += periph_i2c -FEATURES_PROVIDED += periph_ltdc -FEATURES_PROVIDED += periph_rtc -FEATURES_PROVIDED += periph_rtt -FEATURES_PROVIDED += periph_spi -FEATURES_PROVIDED += periph_timer -FEATURES_PROVIDED += periph_uart -FEATURES_PROVIDED += periph_usbdev - -# stm32f746g-disco provides a custom default Kconfig clock configuration -KCONFIG_BOARD_CONFIG += $(RIOTBOARD)/stm32f746g-disco/clock.config +include $(RIOTBOARD)/stm32f746g-disco/features-shared.mk diff --git a/boards/stm32f746g-disco/features-shared.mk b/boards/stm32f746g-disco/features-shared.mk new file mode 100644 index 0000000000..31f06e1409 --- /dev/null +++ b/boards/stm32f746g-disco/features-shared.mk @@ -0,0 +1,14 @@ +# Put defined MCU peripherals here (in alphabetical order) +FEATURES_PROVIDED += periph_dma +FEATURES_PROVIDED += periph_eth +FEATURES_PROVIDED += periph_i2c +FEATURES_PROVIDED += periph_ltdc +FEATURES_PROVIDED += periph_rtc +FEATURES_PROVIDED += periph_rtt +FEATURES_PROVIDED += periph_spi +FEATURES_PROVIDED += periph_timer +FEATURES_PROVIDED += periph_uart +FEATURES_PROVIDED += periph_usbdev + +# stm32f746g-disco provides a custom default Kconfig clock configuration +KCONFIG_BOARD_CONFIG += $(RIOTBOARD)/stm32f746g-disco/clock.config diff --git a/boards/stm32f7508-dk/Kconfig b/boards/stm32f7508-dk/Kconfig new file mode 100644 index 0000000000..78cceb97f5 --- /dev/null +++ b/boards/stm32f7508-dk/Kconfig @@ -0,0 +1,34 @@ +# Copyright (c) 2022 Inria +# +# This file is subject to the terms and conditions of the GNU Lesser +# General Public License v2.1. See the file LICENSE in the top level +# directory for more details. + +config BOARD + default "stm32f7508-dk" if BOARD_STM32F7508_DK + +config BOARD_STM32F7508_DK + bool + default y + select CPU_MODEL_STM32F750N8 + + # Put defined MCU peripherals here (in alphabetical order) + select HAS_PERIPH_DMA + select HAS_PERIPH_ETH + select HAS_PERIPH_I2C + select HAS_PERIPH_LTDC + select HAS_PERIPH_RTC + select HAS_PERIPH_RTT + select HAS_PERIPH_SPI + select HAS_PERIPH_TIMER + select HAS_PERIPH_UART + select HAS_PERIPH_USBDEV + + # Clock configuration + select BOARD_HAS_HSE + select BOARD_HAS_LSE + + select HAVE_SAUL_GPIO + select HAVE_FT5X06 + +source "$(RIOTBOARD)/common/stm32/Kconfig" diff --git a/boards/stm32f7508-dk/Makefile b/boards/stm32f7508-dk/Makefile new file mode 100644 index 0000000000..489189d1e4 --- /dev/null +++ b/boards/stm32f7508-dk/Makefile @@ -0,0 +1,5 @@ +MODULE = board + +DIRS = $(RIOTBOARD)/stm32f746g-disco + +include $(RIOTBASE)/Makefile.base diff --git a/boards/stm32f7508-dk/Makefile.dep b/boards/stm32f7508-dk/Makefile.dep new file mode 100644 index 0000000000..6442d9f01a --- /dev/null +++ b/boards/stm32f7508-dk/Makefile.dep @@ -0,0 +1 @@ +include $(RIOTBOARD)/stm32f746g-disco/Makefile.dep diff --git a/boards/stm32f7508-dk/Makefile.features b/boards/stm32f7508-dk/Makefile.features new file mode 100644 index 0000000000..9ede106e79 --- /dev/null +++ b/boards/stm32f7508-dk/Makefile.features @@ -0,0 +1,4 @@ +CPU = stm32 +CPU_MODEL = stm32f750n8 + +include $(RIOTBOARD)/stm32f746g-disco/features-shared.mk diff --git a/boards/stm32f7508-dk/Makefile.include b/boards/stm32f7508-dk/Makefile.include new file mode 100644 index 0000000000..e1bd47b737 --- /dev/null +++ b/boards/stm32f7508-dk/Makefile.include @@ -0,0 +1,3 @@ +INCLUDES += -I$(RIOTBOARD)/stm32f746g-disco/include + +include $(RIOTBOARD)/stm32f746g-disco/Makefile.include diff --git a/boards/stm32f7508-dk/doc.txt b/boards/stm32f7508-dk/doc.txt new file mode 100644 index 0000000000..9d0e847dc0 --- /dev/null +++ b/boards/stm32f7508-dk/doc.txt @@ -0,0 +1,60 @@ +/** + * @defgroup boards_stm32f750n8-dk STM32F750N8-DK + * @ingroup boards + * @brief Support for the STM32F750N8-DK board. + +## Overview + +The ST [STM32F750N8-DK](https://www.st.com/en/evaluation-tools/stm32f7508-dk.html) +is an evaluation board supporting a ARM Cortex-M7 STM32750N8 microcontroller +with 340KB of RAM and 64KB of ROM Flash. This board is just a clone of the +STM32F746G-DISCO board with a different microcontroller. The pinout +is identical. + +As a result, the main features available on this board are shared with the ones +provided by the STM32F746G-DISCO: +- a 4"3 RGB 480×272 color LCD-TFT with capacitive touch screen, +- an ethernet port +- 2 user USB ports (FS and HS) +- 2 user digital microphones +- 128M-bit external Quas-SPI flash +- 128M-bit external SDRAM + +Current hardware support: + +| Feature | Support | Configuration | +| ------------- | :---------------------: | --------------------- | +| UART | X | USART1 on PB7/PA9 (stdio) and USART6 on PC6/PC7 | +| SPI | X | SPI2 on PB15/PB14/PI1 | +| I2C | X | I2C1 on PB8/PB9 | +| Ethernet | X | | +| USB OTG FS | X | | +| USB OTG HS | - | | +| TFT LCD | X | | +| Capacitive touch screen | X | | +| User microphones | - | | +| External Quad-SPI Flash | - | | +| External SDRAM | - | | + +## Flashing the device + +The STM32F750N8-DK board includes an on-board ST-LINK programmer and can be +flashed using OpenOCD. +The board can be flashed with: + +``` +make BOARD=stm32f750n8-dk flash +``` + +and debug via GDB with +``` +make BOARD=stm32f750n8-dk debug +``` + +## Supported Toolchains + +For using the STM32F750N8-DK board we recommend the usage of the +[GNU Tools for ARM Embedded Processors](https://launchpad.net/gcc-arm-embedded) +toolchain. + + */