Skip to content

Commit 1f23bd7

Browse files
FRASTMcarlescufi
authored andcommitted
boards: arm: stm32h573i_dk new discovery kit for the stm32h5 device
Introduce the stm32h573i_dk for the stm32h573 device from STMicrolectronics. Set the pll at 240MHz sourced by HSE oscillator (25MHz). Enabling a Minimum set of peripherals. Signed-off-by: Francois Ramu <francois.ramu@st.com>
1 parent a62fc40 commit 1f23bd7

File tree

8 files changed

+509
-0
lines changed

8 files changed

+509
-0
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# STM32H573I-DK Discovery kit board configuration
2+
#
3+
# Copyright (c) 2023 STMicroelectronics
4+
#
5+
# SPDX-License-Identifier: Apache-2.0
6+
#
7+
8+
config BOARD_STM32H573I_DK
9+
bool "STM32H573I-DK Discovery Development Board"
10+
depends on SOC_STM32H573XX
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# STM32H573I DISCOVERY KIT board configuration
2+
#
3+
# Copyright (c) 2023 STMicroelectronics
4+
#
5+
# SPDX-License-Identifier: Apache-2.0
6+
#
7+
8+
if BOARD_STM32H573I_DK
9+
10+
config BOARD
11+
default "stm32h573i_dk"
12+
13+
endif # BOARD_STM32H573I_DK
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
* Copyright (c) 2023 STMicroelectronics
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/ {
8+
arduino_header: connector {
9+
compatible = "arduino-header-r3";
10+
#gpio-cells = <2>;
11+
gpio-map-mask = <0xffffffff 0xffffffc0>;
12+
gpio-map-pass-thru = <0 0x3f>;
13+
gpio-map = <0 0 &gpiob 0 0>, /* A0 */
14+
<1 0 &gpioa 4 0>, /* A1 */
15+
<2 0 &gpioa 0 0>, /* A2 */
16+
<3 0 &gpioa 5 0>, /* A3 */
17+
<4 0 &gpioa 6 0>, /* A4 */
18+
<5 0 &gpiof 12 0>, /* A5 */
19+
<6 0 &gpiob 11 0>, /* D0 */
20+
<7 0 &gpiob 10 0>, /* D1 */
21+
<8 0 &gpiog 15 0>, /* D2 */
22+
<9 0 &gpiob 5 0>, /* D3 */
23+
<10 0 &gpiog 4 0>, /* D4 */
24+
<11 0 &gpioh 11 0>, /* D5 */
25+
<12 0 &gpioh 10 0>, /* D6 */
26+
<13 0 &gpiog 5 0>, /* D7 */
27+
<14 0 &gpiog 8 0>, /* D8 */
28+
<15 0 &gpioa 8 0>, /* D9 */
29+
<16 0 &gpioa 3 0>, /* D10 */
30+
<17 0 &gpiob 15 0>, /* D11 */
31+
<18 0 &gpioi 2 0>, /* D12 */
32+
<19 0 &gpioi 1 0>, /* D13 */
33+
<20 0 &gpiob 7 0>, /* D14 */
34+
<21 0 &gpiob 6 0>; /* D15 */
35+
};
36+
};
77.3 KB
Loading
Lines changed: 293 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,293 @@
1+
.. _stm32h573i_dk_board:
2+
3+
ST STM32H573I-DK Discovery
4+
##########################
5+
6+
Overview
7+
********
8+
9+
The STM32H573I-DK Discovery kit is designed as a complete demonstration and
10+
development platform for STMicroelectronics Arm |reg| Cortex |reg|-M33 core-based
11+
STM32H573IIK3Q microcontroller with TrustZone |reg|. Here are some highlights of
12+
the STM32H573I-DK Discovery board:
13+
14+
15+
- STM32H573IIK3Q microcontroller featuring 2 Mbytes of Flash memory and 640 Kbytes of SRAM in 176-pin BGA package
16+
- 1.54-inch 240x240 pixels TFT-LCD with LED backlight and touch panel
17+
- USB Type-C |trade| Host and device with USB power-delivery controller
18+
- SAI Audio DAC stereo with one audio jacks for input/output,
19+
- ST MEMS digital microphone with PDM interface
20+
- Octo-SPI interface connected to 152Mbit Octo-SPI NORFlash memory device (MX25LM51245GXDI00 from MACRONIX)
21+
- 10/100-Mbit Ethernet,
22+
- microSD |trade|
23+
- A Wi‑Fi® add-on board
24+
- Board connectors
25+
26+
- STMod+ expansion connector with fan-out expansion board for Wi‑Fi |reg|, Grove and mikroBUS |trade| compatible connectors
27+
- Pmod |trade| expansion connector
28+
- Audio MEMS daughterboard expansion connector
29+
- ARDUINO |reg| Uno V3 expansion connector
30+
31+
- Flexible power-supply options
32+
33+
- ST-LINK
34+
- USB VBUS
35+
- external sources
36+
37+
- On-board STLINK-V3E debugger/programmer with USB re-enumeration capability:
38+
39+
- mass storage
40+
- Virtual COM port
41+
- debug port
42+
43+
- 4 user LEDs
44+
- User and reset push-buttons
45+
46+
.. image:: img/stm32h573i_dk.jpg
47+
:align: center
48+
:alt: STM32H573I-DK Discovery
49+
50+
More information about the board can be found at the `STM32H573I-DK Discovery website`_.
51+
52+
Hardware
53+
********
54+
55+
The STM32H573xx devices are an high-performance microcontrollers family (STM32H5
56+
Series) based on the high-performance Arm |reg| Cortex |reg|-M33 32-bit RISC core.
57+
They operate at a frequency of up to 250 MHz.
58+
59+
- Core: ARM |reg| 32-bit Cortex |reg| -M33 CPU with TrustZone |reg| and FPU.
60+
- Performance benchmark:
61+
62+
- 375 DMPIS/MHz (Dhrystone 2.1)
63+
64+
- Security
65+
66+
- Arm |reg| TrustZone |reg| with ARMv8-M mainline security extension
67+
- Up to 8 configurable SAU regions
68+
- TrustZone |reg| aware and securable peripherals
69+
- Flexible lifecycle scheme with secure debug authentication
70+
- Preconfigured immutable root of trust (ST-iROT)
71+
- SFI (secure firmware installation)
72+
- Secure data storage with hardware unique key (HUK)
73+
- Secure firmware upgrade support with TF-M
74+
- 2x AES coprocessors including one with DPA resistance
75+
- Public key accelerator, DPA resistant
76+
- On-the-fly decryption of Octo-SPI external memories
77+
- HASH hardware accelerator
78+
- True random number generator, NIST SP800-90B compliant
79+
- 96-bit unique ID
80+
- Active tampers
81+
82+
- Clock management:
83+
84+
- 25 MHz crystal oscillator (HSE)
85+
- 32 kHz crystal oscillator for RTC (LSE)
86+
- Internal 64 MHz (HSI) trimmable by software
87+
- Internal low-power 32 kHz RC (LSI)( |plusminus| 5%)
88+
- Internal 4 MHz oscillator (CSI), trimmable by software
89+
- Internal 48 MHz (HSI48) with recovery system
90+
- 3 PLLs for system clock, USB, audio, ADC
91+
92+
- Power management
93+
94+
- Embedded regulator (LDO) with three configurable range output to supply the digital circuitry
95+
- Embedded SMPS step-down converter
96+
97+
- RTC with HW calendar, alarms and calibration
98+
- Up to 139 fast I/Os, most 5 V-tolerant, up to 10 I/Os with independent supply down to 1.08 V
99+
- Up to 16 timers and 2 watchdogs
100+
101+
- 12x 16-bit
102+
- 2x 32-bit timers with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input
103+
- 6x 16-bit low-power 16-bit timers (available in Stop mode)
104+
- 2x watchdogs
105+
- 2x SysTick timer
106+
107+
- Memories
108+
109+
- Up to 2 MB Flash, 2 banks read-while-write
110+
- 1 Kbyte OTP (one-time programmable)
111+
- 640 KB of SRAM including 64 KB with hardware parity check and 320 Kbytes with flexible ECC
112+
- 4 Kbytes of backup SRAM available in the lowest power modes
113+
- Flexible external memory controller with up to 16-bit data bus: SRAM, PSRAM, FRAM, SDRAM/LPSDR SDRAM, NOR/NAND memories
114+
- 1x OCTOSPI memory interface with on-the-fly decryption and support for serial PSRAM/NAND/NOR, Hyper RAM/Flash frame formats
115+
- 2x SD/SDIO/MMC interfaces
116+
117+
- Rich analog peripherals (independent supply)
118+
119+
- 2x 12-bit ADC with up to 5 MSPS in 12-bit
120+
- 2x 12-bit D/A converters
121+
- 1x Digital temperature sensor
122+
123+
- 34x communication interfaces
124+
125+
- 1x USB Type-C / USB power-delivery controller
126+
- 1x USB 2.0 full-speed host and device
127+
- 4x I2C FM+ interfaces (SMBus/PMBus)
128+
- 1x I3C interface
129+
- 12x U(S)ARTS (ISO7816 interface, LIN, IrDA, modem control)
130+
- 1x LP UART
131+
- 6x SPIs including 3 muxed with full-duplex I2S
132+
- 5x additional SPI from 5x USART when configured in Synchronous mode
133+
- 2x SAI
134+
- 2x FDCAN
135+
- 1x SDMMC interface
136+
- 2x 16 channel DMA controllers
137+
- 1x 8- to 14- bit camera interface
138+
- 1x HDMI-CEC
139+
- 1x Ethernel MAC interface with DMA controller
140+
- 1x 16-bit parallel slave synchronous-interface
141+
142+
- CORDIC for trigonometric functions acceleration
143+
- FMAC (filter mathematical accelerator)
144+
- CRC calculation unit
145+
- Development support: serial wire debug (SWD), JTAG, Embedded Trace Macrocell |trade|
146+
147+
148+
More information about STM32H573 can be found here:
149+
150+
- `STM32H573 on www.st.com`_
151+
- `STM32H573 reference manual`_
152+
153+
Supported Features
154+
==================
155+
156+
The Zephyr STM32H573I_DK board configuration supports the following
157+
hardware features:
158+
159+
+-----------+------------+-------------------------------------+
160+
| Interface | Controller | Driver/Component |
161+
+===========+============+=====================================+
162+
| CLOCK | on-chip | reset and clock control |
163+
+-----------+------------+-------------------------------------+
164+
| GPIO | on-chip | gpio |
165+
+-----------+------------+-------------------------------------+
166+
| NVIC | on-chip | nested vector interrupt controller |
167+
+-----------+------------+-------------------------------------+
168+
| PINMUX | on-chip | pinmux |
169+
+-----------+------------+-------------------------------------+
170+
| UART | on-chip | serial port-polling; |
171+
| | | serial port-interrupt |
172+
+-----------+------------+-------------------------------------+
173+
174+
Other hardware features are not yet supported on this Zephyr port.
175+
176+
The default configuration can be found in the defconfig and dts files:
177+
178+
- Secure target:
179+
180+
- :zephyr_file:`boards/arm/stm32h573i_dk/stm32h573i_dk_defconfig`
181+
- :zephyr_file:`boards/arm/stm32h573i_dk/stm32h573i_dk.dts`
182+
183+
Zephyr board options
184+
====================
185+
186+
The STM32H573 is an SoC with Cortex-M33 architecture. Zephyr provides support
187+
for building for Secure firmware.
188+
189+
The BOARD options are summarized below:
190+
191+
+----------------------+-----------------------------------------------+
192+
| BOARD | Description |
193+
+======================+===============================================+
194+
| stm32h573i_dk | For building Secure firmware |
195+
+----------------------+-----------------------------------------------+
196+
197+
Connections and IOs
198+
===================
199+
200+
STM32H573I-DK Discovery Board has 9 GPIO controllers. These controllers are responsible for pin muxing,
201+
input/output, pull-up, etc.
202+
203+
For mode details please refer to `STM32H573I-DK Discovery board User Manual`_.
204+
205+
Default Zephyr Peripheral Mapping:
206+
----------------------------------
207+
208+
- USART_1 TX/RX : PA9/PA10 (VCP)
209+
- USER_PB : PC13
210+
- LD1 (green) : PI9
211+
212+
213+
System Clock
214+
------------
215+
216+
STM32H573I-DK System Clock could be driven by internal or external oscillator,
217+
as well as main PLL clock. By default System clock is driven by PLL clock at
218+
240MHz, driven by 25MHz external oscillator (HSE).
219+
220+
Serial Port
221+
-----------
222+
223+
STM32H573I-DK Discovery board has 3 U(S)ARTs. The Zephyr console output is
224+
assigned to USART1. Default settings are 115200 8N1.
225+
226+
227+
Programming and Debugging
228+
*************************
229+
230+
Applications for the ``stm32h573i_dk`` board configuration can be built and
231+
flashed in the usual way (see :ref:`build_an_application` and
232+
:ref:`application_run` for more details).
233+
234+
Flashing
235+
========
236+
237+
STM32H573I-DK Discovery board includes an ST-LINK/V3E embedded debug tool
238+
interface. Support is available on STM32CubeProgrammer V2.13.0.
239+
240+
Alternatively, this interface will be supported by a next openocd version.
241+
242+
Flashing an application to STM32H573I-DK Discovery
243+
--------------------------------------------------
244+
245+
Connect the STM32H573I-DK Discovery to your host computer using the USB port.
246+
Then build and flash an application. Here is an example for the
247+
:ref:`hello_world` application.
248+
249+
Run a serial host program to connect with your Nucleo board:
250+
251+
.. code-block:: console
252+
253+
$ minicom -D /dev/ttyACM0
254+
255+
Then build and flash the application.
256+
257+
.. zephyr-app-commands::
258+
:zephyr-app: samples/hello_world
259+
:board: stm32h573i_dk
260+
:goals: build flash
261+
262+
You should see the following message on the console:
263+
264+
.. code-block:: console
265+
266+
Hello World! stm32h573i_dk
267+
268+
Debugging
269+
=========
270+
271+
You can debug an application in the usual way. Here is an example for the
272+
:ref:`hello_world` application.
273+
274+
.. zephyr-app-commands::
275+
:zephyr-app: samples/hello_world
276+
:board: stm32h573i_dk
277+
:maybe-skip-config:
278+
:goals: debug
279+
280+
.. _STM32H573I-DK Discovery website:
281+
https://www.st.com/en/evaluation-tools/stm32h573i-dk.html
282+
283+
.. _STM32H573I-DK Discovery board User Manual:
284+
https://www.st.com/en/evaluation-tools/stm32h573i-dk.html
285+
286+
.. _STM32H573 on www.st.com:
287+
https://www.st.com/en/microcontrollers/stm32h573ii.html
288+
289+
.. _STM32H573 reference manual:
290+
https://www.st.com/resource/en/reference_manual/rm0481-stm32h563h573-and-stm32h562-armbased-32bit-mcus-stmicroelectronics.pdf
291+
292+
.. _STM32CubeProgrammer:
293+
https://www.st.com/en/development-tools/stm32cubeprog.html

0 commit comments

Comments
 (0)