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+---------------+------------+-------------------------------+
58| Interface     | Controller | Driver/Component              |
59+===============+============+===============================+
60| NVIC          | on-chip    | arch/arm                      |
61+---------------+------------+-------------------------------+
62| MPU           | on-chip    | arch/arm                      |
63+---------------+------------+-------------------------------+
64| ADC           | on-chip    | adc                           |
65+---------------+------------+-------------------------------+
66| CAN           | on-chip    | can                           |
67+---------------+------------+-------------------------------+
68| USART/UART    | on-chip    | console, serial               |
69+---------------+------------+-------------------------------+
70| TIMER         | on-chip    | counter, pwm, timer           |
71+---------------+------------+-------------------------------+
72| DAC           | on-chip    | dac                           |
73+---------------+------------+-------------------------------+
74| DMA           | on-chip    | dma                           |
75+---------------+------------+-------------------------------+
76| GPIO          | on-chip    | gpio                          |
77+---------------+------------+-------------------------------+
78| HWINFO        | on-chip    | hwinfo                        |
79+---------------+------------+-------------------------------+
80| I2C           | on-chip    | i2c                           |
81+---------------+------------+-------------------------------+
82| EXTI          | on-chip    | interrupt_controller          |
83+---------------+------------+-------------------------------+
84| BACKUP_SRAM   | on-chip    | memory                        |
85+---------------+------------+-------------------------------+
86| QUADSPI       | on-chip    | memory                        |
87+---------------+------------+-------------------------------+
88| PINMUX        | on-chip    | pinctrl                       |
89+---------------+------------+-------------------------------+
90| RCC           | on-chip    | reset                         |
91+---------------+------------+-------------------------------+
92| RTC           | on-chip    | rtc                           |
93+---------------+------------+-------------------------------+
94| DIE_TEMP      | on-chip    | sensor                        |
95+---------------+------------+-------------------------------+
96| VREF          | on-chip    | sensor                        |
97+---------------+------------+-------------------------------+
98| VBAT          | on-chip    | sensor                        |
99+---------------+------------+-------------------------------+
100| SPI           | on-chip    | spi                           |
101+---------------+------------+-------------------------------+
102| USBOTG_HS     | on-chip    | usb                           |
103+---------------+------------+-------------------------------+
104| USBOTG_FS     | on-chip    | usb                           |
105+---------------+------------+-------------------------------+
106| IWDG          | on-chip    | watchdog                      |
107+---------------+------------+-------------------------------+
108| WWDG          | on-chip    | watchdog                      |
109+---------------+------------+-------------------------------+
110| RTC           | on-chip    | rtc                           |
111+---------------+------------+-------------------------------+
112
113Connections and IOs
114===================
115
116- SDMMC1: Pins marked as "SDMMC" on the ST Zio connector.
117   - D0: PC8 (CN8 pin 2)
118   - D1: PC9 (CN8 pin 4)
119   - D2: PC10 (CN8 pin 6)
120   - D3: PC11 (CN8 pin 8)
121   - CK: PC12 (CN8 pin 10)
122   - CMD: PD2 (CN8 pin 12)
123- ADC1:
124   - IN3: PA3 (CN9 pin 1, Arduino A0)
125   - IN10: PC0 (CN9 pin 3, Arduino A1)
126- DAC1:
127   - OUT1: PA4 (CN7 pin 17)
128- I2C2: Pins marked as "I2C" on the ST Zio connector.
129   - SCL: PF1 (CN9 pin 19)
130   - SDA: PF0 (CN9 pin 21)
131- CAN1: Pins marked as "CAN" on the ST Zio connector.
132   - RX: PD0 (CN9 pin 25)
133   - TX: PD1 (CN9 pin 27)
134- USART2: Pins marked as "USART" on the ST Zio connector.
135   - RX: PD6 (CN9 pin 4)
136   - TX: PD5 (CN9 pin 6)
137   - RTS: PD4 (CN9 pin 8)
138   - CTS: PD3 (CN9 pin 10)
139- PWM1: Uses TIMER1.
140   - PE13 (CN10 pin 10, Arduino D3)
141   - PE11 (CN10 pin 6, Arduino D5)
142- USART3: Connected to ST-Link virtual COM port.
143   - TX: PD8
144   - RX: PD9
145- USART6: Arduino UART port.
146   - RX: PG9 (CN10 pin 16, Arduino D0)
147   - TX: PG14 (CN10 pin 14, Arduino D1)
148- USBOTG_FS: Connected to USB Micro-AB connector (CN13)
149   - DM: PA11
150   - DP: PA12
151   - ID: PA10
152- QUADSPI: Pins marked as "QSPI" on the ST Zio connector.
153   - CS: PB6 (CN10 pin 13)
154   - CLK: PB2 (CN10 pin 15)
155   - IO3: PD13 (CN10 pin 19)
156   - IO1: PD12 (CN10 pin 21)
157   - IO0: PD11 (CN10 pin 23)
158   - IO2: PE2 (CN10 pin 25)
159
160System Clock
161------------
162
163By default, the system clock is driven by the external clock supplied by
164the ST-LINK interface. Nucleo F722ZE system clock can be driven by internal
165or external sources.
166
167Serial Port
168-----------
169
170Zephyr console is assigned to UART3 (ST-Link Virtual COM Port) by default,
171using 115200 8N1.
172
173Programming and Debugging
174*************************
175
176The ``nucleo_f722ze`` can be flashed and debugged in the typical manner.
177The Nucleo F722ZE board includes an ST-LINK V2-1 debugger.
178
179Refer to :ref:`build_an_application` and :ref:`application_run` for detailed
180instructions.
181
182Flashing
183========
184
185The board is configured to be flashed using west `STM32CubeProgrammer`_ runner,
186so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required.
187
188Alternatively, OpenOCD or JLink can also be used to flash the board using
189the ``--runner`` (or ``-r``) option:
190
191.. code-block:: console
192
193   $ west flash --runner openocd
194   $ west flash --runner jlink
195
196Build the :zephyr:code-sample:`hello_world` application and flash it using the on-board
197ST-LINK interface:
198
199.. zephyr-app-commands::
200   :zephyr-app: samples/hello_world
201   :board: nucleo_f722ze
202   :goals: build flash
203
204Debugging
205=========
206
207.. zephyr-app-commands::
208   :zephyr-app: samples/hello_world
209   :board: nucleo_f722ze
210   :maybe-skip-config:
211   :goals: debug
212
213
214References
215**********
216
217More information about the STM32F722ZE:
218
219- `STM32F722ZE on www.st.com`_
220- `STM32F722ZE Reference Manual (RM0431)`_ (PDF)
221
222More information about Nucleo F722ZE:
223
224- `Nucleo F722ZE on www.st.com`_
225- `STM32 Nucleo-144 User Manual (UM1974)`_ (PDF)
226
227.. _SEGGER J-Link OB firmware:
228   https://www.segger.com/products/debug-probes/j-link/models/other-j-links/st-link-on-board/
229
230.. _STM32F722ZE on www.st.com:
231   https://www.st.com/en/microcontrollers-microprocessors/stm32f722ze.html
232
233.. _STM32F722ZE Reference Manual (RM0431):
234   https://www.st.com/resource/en/reference_manual/rm0431-stm32f72xxx-and-stm32f73xxx-advanced-armbased-32bit-mcus-stmicroelectronics.pdf
235
236.. _Nucleo F722ZE on www.st.com:
237   https://www.st.com/en/evaluation-tools/nucleo-f722ze.html
238
239.. _STM32 Nucleo-144 User Manual (UM1974):
240   https://www.st.com/resource/en/user_manual/um1974-stm32-nucleo144-boards-mb1137-stmicroelectronics.pdf
241
242.. _STM32CubeProgrammer:
243   https://www.st.com/en/development-tools/stm32cubeprog.html
244