1.. zephyr:board:: nucleo_f722ze
2
3Overview
4********
5
6The Nucleo F722ZE board features an ARM Cortex-M7 based STM32F722ZE MCU.
7
8Key Features:
9
10- STM32 microcontroller in LQFP144 package
11- USB full-speed/high-speed device
12- 3 user LEDs
13- 1 user button and 1 reset button
14- 32.768 kHz crystal oscillator
15- Board connectors:
16   - USB Micro-AB
17   - SWD
18   - ST Zio connector (Arduino Uno R3 compatible)
19   - ST Morpho connector
20- On-board ST-LINK debugger/programmer
21- Flexible power supply options, including ST-LINK VBUS and external sources.
22
23Hardware
24********
25
26Nucleo F722ZE provides the following hardware components:
27
28- STM32F722ZET6 microcontroller in LQFP144 package
29- ARM |reg| Cortex |reg|-M4 with FPU
30- Adaptive Real-Time Accelerator (ART Accelerator)
31- 216MHz max CPU frequency
32- 512 KB flash
33- 256 KB RAM
34- I2C (3)
35- USART/UART (4)
36- SPI (5)
37- I2S (3)
38- SAI (2)
39- USB OTG Full-speed (1)
40- USB OTG Full-speed/high-speed (1)
41- SDMMC (2)
42- CAN (1)
43- Dual mode Quad-SPI
44- Random number generator (RNG)
45- 3x 12-bit ADC, up to 2.4 MSPS with 24 channels or 7.2 MSPS in triple-interleaved mode
46- 2x 12-bit DAC
47- 16-channel DMA controller
48- 16-bit timers (13) with PWM, pulse counter, and quadrature features
49- 32-bit timers (2) with PWM, pulse counter, and quadrature features
50- CRC
51- 96-bit unique ID
52- Die temperature
53
54Supported Features
55==================
56
57.. zephyr:board-supported-hw::
58
59Connections and IOs
60===================
61
62- SDMMC1: Pins marked as "SDMMC" on the ST Zio connector.
63   - D0: PC8 (CN8 pin 2)
64   - D1: PC9 (CN8 pin 4)
65   - D2: PC10 (CN8 pin 6)
66   - D3: PC11 (CN8 pin 8)
67   - CK: PC12 (CN8 pin 10)
68   - CMD: PD2 (CN8 pin 12)
69- ADC1:
70   - IN3: PA3 (CN9 pin 1, Arduino A0)
71   - IN10: PC0 (CN9 pin 3, Arduino A1)
72- DAC1:
73   - OUT1: PA4 (CN7 pin 17)
74- I2C2: Pins marked as "I2C" on the ST Zio connector.
75   - SCL: PF1 (CN9 pin 19)
76   - SDA: PF0 (CN9 pin 21)
77- CAN1: Pins marked as "CAN" on the ST Zio connector.
78   - RX: PD0 (CN9 pin 25)
79   - TX: PD1 (CN9 pin 27)
80- USART2: Pins marked as "USART" on the ST Zio connector.
81   - RX: PD6 (CN9 pin 4)
82   - TX: PD5 (CN9 pin 6)
83   - RTS: PD4 (CN9 pin 8)
84   - CTS: PD3 (CN9 pin 10)
85- PWM1: Uses TIMER1.
86   - PE13 (CN10 pin 10, Arduino D3)
87   - PE11 (CN10 pin 6, Arduino D5)
88- USART3: Connected to ST-Link virtual COM port.
89   - TX: PD8
90   - RX: PD9
91- USART6: Arduino UART port.
92   - RX: PG9 (CN10 pin 16, Arduino D0)
93   - TX: PG14 (CN10 pin 14, Arduino D1)
94- USBOTG_FS: Connected to USB Micro-AB connector (CN13)
95   - DM: PA11
96   - DP: PA12
97   - ID: PA10
98- QUADSPI: Pins marked as "QSPI" on the ST Zio connector.
99   - CS: PB6 (CN10 pin 13)
100   - CLK: PB2 (CN10 pin 15)
101   - IO3: PD13 (CN10 pin 19)
102   - IO1: PD12 (CN10 pin 21)
103   - IO0: PD11 (CN10 pin 23)
104   - IO2: PE2 (CN10 pin 25)
105
106System Clock
107------------
108
109By default, the system clock is driven by the external clock supplied by
110the ST-LINK interface. Nucleo F722ZE system clock can be driven by internal
111or external sources.
112
113Serial Port
114-----------
115
116Zephyr console is assigned to UART3 (ST-Link Virtual COM Port) by default,
117using 115200 8N1.
118
119Programming and Debugging
120*************************
121
122The ``nucleo_f722ze`` can be flashed and debugged in the typical manner.
123The Nucleo F722ZE board includes an ST-LINK V2-1 debugger.
124
125Refer to :ref:`build_an_application` and :ref:`application_run` for detailed
126instructions.
127
128Flashing
129========
130
131The board is configured to be flashed using west `STM32CubeProgrammer`_ runner,
132so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required.
133
134Alternatively, OpenOCD or JLink can also be used to flash the board using
135the ``--runner`` (or ``-r``) option:
136
137.. code-block:: console
138
139   $ west flash --runner openocd
140   $ west flash --runner jlink
141
142Build the :zephyr:code-sample:`hello_world` application and flash it using the on-board
143ST-LINK interface:
144
145.. zephyr-app-commands::
146   :zephyr-app: samples/hello_world
147   :board: nucleo_f722ze
148   :goals: build flash
149
150Debugging
151=========
152
153.. zephyr-app-commands::
154   :zephyr-app: samples/hello_world
155   :board: nucleo_f722ze
156   :maybe-skip-config:
157   :goals: debug
158
159
160References
161**********
162
163More information about the STM32F722ZE:
164
165- `STM32F722ZE on www.st.com`_
166- `STM32F722ZE Reference Manual (RM0431)`_ (PDF)
167
168More information about Nucleo F722ZE:
169
170- `Nucleo F722ZE on www.st.com`_
171- `STM32 Nucleo-144 User Manual (UM1974)`_ (PDF)
172
173.. _SEGGER J-Link OB firmware:
174   https://www.segger.com/products/debug-probes/j-link/models/other-j-links/st-link-on-board/
175
176.. _STM32F722ZE on www.st.com:
177   https://www.st.com/en/microcontrollers-microprocessors/stm32f722ze.html
178
179.. _STM32F722ZE Reference Manual (RM0431):
180   https://www.st.com/resource/en/reference_manual/rm0431-stm32f72xxx-and-stm32f73xxx-advanced-armbased-32bit-mcus-stmicroelectronics.pdf
181
182.. _Nucleo F722ZE on www.st.com:
183   https://www.st.com/en/evaluation-tools/nucleo-f722ze.html
184
185.. _STM32 Nucleo-144 User Manual (UM1974):
186   https://www.st.com/resource/en/user_manual/um1974-stm32-nucleo144-boards-mb1137-stmicroelectronics.pdf
187
188.. _STM32CubeProgrammer:
189   https://www.st.com/en/development-tools/stm32cubeprog.html
190