1.. zephyr:board:: stm32h7s78_dk 2 3Overview 4******** 5 6The STM32H7S78-DK Discovery kit is designed as a complete demonstration and 7development platform for STMicroelectronics Arm |reg| Cortex |reg|-M7 core-based 8STM32H7S7L8H6H microcontroller with TrustZone |reg|. Here are some highlights of 9the STM32H7S78-DK Discovery board: 10 11 12- STM32H7S7L8H6H microcontroller featuring 64Kbytes of Flash memory and 620 Kbytes of SRAM in 225-pin TFBGA package 13- USB Type-C |trade| Host and device with USB power-delivery controller 14- SAI Audio DAC stereo with one audio jacks for input/output, 15- ST MEMS digital microphone with PDM interface 16- Octo-SPI interface connected to 512Mbit Octo-SPI NORFlash memory device (MX66UW1G45GXD100 from MACRONIX) 17- 10/100-Mbit Ethernet, 18 19- Board connectors 20 21 - STMod+ expansion connector with fan-out expansion board for Wi‑Fi |reg|, Grove and mikroBUS |trade| compatible connectors 22 - Pmod |trade| expansion connector 23 - Audio MEMS daughterboard expansion connector 24 - ARDUINO |reg| Uno V3 expansion connector 25 26- Flexible power-supply options 27 28 - ST-LINK 29 - USB VBUS 30 - external sources 31 32- On-board STLINK-V3E debugger/programmer with USB re-enumeration capability: 33 34 - mass storage 35 - Virtual COM port 36 - debug port 37 38- 4 user LEDs 39- User and reset push-buttons 40 41More information about the board can be found at the `STM32H7S78-DK Discovery website`_. 42 43Hardware 44******** 45 46The STM32H7S7xx devices are a high-performance microcontrollers family (STM32H7 47Series) based on the high-performance Arm |reg| Cortex |reg|-M7 32-bit RISC core. 48They operate at a frequency of up to 500 MHz. 49 50- Core: ARM |reg| 32-bit Cortex |reg| -M7 CPU with TrustZone |reg| and FPU. 51- Performance benchmark: 52 53 - 1284 DMPIS/MHz (Dhrystone 2.1) 54 55- Security 56 57 - Arm |reg| TrustZone |reg| with ARMv8-M mainline security extension 58 - Up to 8 configurable SAU regions 59 - TrustZone |reg| aware and securable peripherals 60 - Flexible lifecycle scheme with secure debug authentication 61 - Preconfigured immutable root of trust (ST-iROT) 62 - SFI (secure firmware installation) 63 - Secure data storage with hardware unique key (HUK) 64 - Secure firmware upgrade support with TF-M 65 - 2x AES coprocessors including one with DPA resistance 66 - Public key accelerator, DPA resistant 67 - On-the-fly decryption of Octo-SPI external memories 68 - HASH hardware accelerator 69 - True random number generator, NIST SP800-90B compliant 70 - 96-bit unique ID 71 - Active tampers 72 - True Random Number Generator (RNG) NIST SP800-90B compliant 73 74- Clock management: 75 76 - 24 MHz crystal oscillator (HSE) 77 - 32768 Hz crystal oscillator for RTC (LSE) 78 - Internal 64 MHz (HSI) trimmable by software 79 - Internal low-power 32 kHz RC (LSI)( |plusminus| 5%) 80 - Internal 4 MHz oscillator (CSI), trimmable by software 81 - Internal 48 MHz (HSI48) with recovery system 82 - 3 PLLs for system clock, USB, audio, ADC 83 84- Power management 85 86 - Embedded regulator (LDO) with three configurable range output to supply the digital circuitry 87 - Embedded SMPS step-down converter 88 89- RTC with HW calendar, alarms and calibration 90- Up to 152 fast I/Os, most 5 V-tolerant, up to 10 I/Os with independent supply down to 1.08 V 91- Up to 16 timers and 2 watchdogs 92 93 - 16x 16-bit 94 - 4x 32-bit timers with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input 95 - 5x 16-bit low-power 16-bit timers (available in Stop mode) 96 - 2x watchdogs 97 - 1x SysTick timer 98 99- Memories 100 101 - Up to 64KB Flash, 2 banks read-while-write 102 - 1 Kbyte OTP (one-time programmable) 103 - 640 KB of SRAM including 64 KB with hardware parity check and 320 Kbytes with flexible ECC 104 - 4 Kbytes of backup SRAM available in the lowest power modes 105 - Flexible external memory controller with up to 16-bit data bus: SRAM, PSRAM, FRAM, SDRAM/LPSDR SDRAM, NOR/NAND memories 106 - 2x OCTOSPI memory interface with on-the-fly decryption and support for serial PSRAM/NAND/NOR, Hyper RAM/Flash frame formats 107 - 1x HEXASPI memory interface with on-the-fly decryption and support for serial PSRAM/NAND/NOR, Hyper RAM/Flash frame formats 108 - 2x SD/SDIO/MMC interfaces 109 110- Rich analog peripherals (independent supply) 111 112 - 2x 12-bit ADC with up to 5 MSPS in 12-bit 113 - 1x Digital temperature sensor 114 115- 35x communication interfaces 116 117 - 1x USB Type-C / USB power-delivery controller 118 - 1x USB OTG full-speed with PHY 119 - 1x USB OTG high-speed with PHY 120 - 3x I2C FM+ interfaces (SMBus/PMBus) 121 - 1x I3C interface 122 - 7x U(S)ARTS (ISO7816 interface, LIN, IrDA, modem control) 123 - 2x LP UART 124 - 6x SPIs including 3 muxed with full-duplex I2S 125 - 2x SAI 126 - 2x FDCAN 127 - 2x SD/SDIO/MMC interface 128 - 2x 16 channel DMA controllers 129 - 1x 8- to 16- bit camera interface 130 - 1x HDMI-CEC 131 - 1x Ethernel MAC interface with DMA controller 132 - 1x 16-bit parallel slave synchronous-interface 133 - 1x SPDIF-IN interface 134 - 1x MDIO slave interface 135 136- CORDIC for trigonometric functions acceleration 137- FMAC (filter mathematical accelerator) 138- CRC calculation unit 139- Development support: serial wire debug (SWD), JTAG, Embedded Trace Macrocell |trade| 140 141 142More information about STM32H7S7 can be found here: 143 144- `STM32H7Sx on www.st.com`_ 145- `STM32H7Sx reference manual`_ 146 147Supported Features 148================== 149 150.. zephyr:board-supported-hw:: 151 152Zephyr board options 153==================== 154 155The STM32HS7 is a SoC with Cortex-M7 architecture. Zephyr provides support 156for building for Secure firmware. 157 158The BOARD options are summarized below: 159 160+----------------------+-----------------------------------------------+ 161| BOARD | Description | 162+======================+===============================================+ 163| stm32h7s78_dk | For building Secure firmware | 164+----------------------+-----------------------------------------------+ 165 166Connections and IOs 167=================== 168 169STM32H7S78-DK Discovery Board has 12 GPIO controllers. These controllers are responsible for pin muxing, 170input/output, pull-up, etc. 171 172For more details please refer to `STM32H7S78-DK Discovery board User Manual`_. 173 174Default Zephyr Peripheral Mapping: 175---------------------------------- 176 177- USART_4 TX/RX : PD1/PD0 (VCP) 178- USART_7 TX/RX : PE8/PE7 (Arduino USART7) 179- USER_PB : PC13 180- LD1 (green) : PO1 181- LD2 (orange) : PO5 182- LD3 (red) : PM2 183- LD4 (blue) : PM3 184- ADC1 channel 6 input : PF12 185- USB OTG FS DM/DP : PM12/PM11 186 187System Clock 188------------ 189 190STM32H7S78-DK System Clock could be driven by internal or external oscillator, 191as well as main PLL clock. By default System clock is driven by PLL clock at 192500MHz, driven by 24MHz external oscillator (HSE). 193 194Serial Port 195----------- 196 197STM32H7S78-DK Discovery board has 2 U(S)ARTs. The Zephyr console output is 198assigned to USART4. Default settings are 115200 8N1. 199 200USB 201--- 202 203STM32H7S78-DK Discovery board has 2 USB Type-C connectors. Currently, only 204USB port2 (FS) is supported. 205 206Programming and Debugging 207************************* 208 209STM32H7S78-DK Discovery board includes an ST-LINK/V3E embedded debug tool interface. 210 211Applications for the ``stm32h7s78_dk`` board configuration can be built and 212flashed in the usual way (see :ref:`build_an_application` and 213:ref:`application_run` for more details). 214 215Flashing 216======== 217 218The board is configured to be flashed using west `STM32CubeProgrammer`_ runner, 219so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required. 220 221Flashing an application to STM32H7S78-DK Discovery 222-------------------------------------------------- 223 224Connect the STM32H7S78-DK Discovery to your host computer using the USB port. 225Then build and flash an application. Here is an example for the 226:zephyr:code-sample:`hello_world` application. 227 228Run a serial host program to connect with your Nucleo board: 229 230.. code-block:: console 231 232 $ minicom -D /dev/ttyACM0 233 234Then build and flash the application. 235 236.. zephyr-app-commands:: 237 :zephyr-app: samples/hello_world 238 :board: stm32h7s78_dk 239 :goals: build flash 240 241You should see the following message on the console: 242 243.. code-block:: console 244 245 Hello World! stm32h7s78_dk 246 247Debugging 248========= 249 250You can debug an application in the usual way. Here is an example for the 251:zephyr:code-sample:`hello_world` application. 252 253.. zephyr-app-commands:: 254 :zephyr-app: samples/hello_world 255 :board: stm32h7s78_dk 256 :maybe-skip-config: 257 :goals: debug 258 259.. _STM32H7S78-DK Discovery website: 260 https://www.st.com/en/evaluation-tools/stm32h7s78-dk.html 261 262.. _STM32H7S78-DK Discovery board User Manual: 263 https://www.st.com/en/evaluation-tools/stm32h7s78-dk.html 264 265.. _STM32H7Sx on www.st.com: 266 https://www.st.com/en/evaluation-tools/stm32h7s78-dk.html 267 268.. _STM32H7Sx reference manual: 269 https://www.st.com/resource/en/reference_manual/rm0477-stm32h7rx7sx-armbased-32bit-mcus-stmicroelectronics.pdf 270 271.. _STM32CubeProgrammer: 272 https://www.st.com/en/development-tools/stm32cubeprog.html 273