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