1.. zephyr:board:: nucleo_h7a3zi_q
2
3Overview
4********
5
6The STM32 Nucleo-144 boards offer combinations of performance and power that
7provide an affordable and flexible way for users to build prototypes and try
8out new concepts. For compatible boards, the SMPS (Switched-Mode Power Supply)
9significantly reduces power consumption in Run mode.
10
11The Arduino-compatible ST Zio connector expands functionality of the Nucleo
12open development platform, with a wide choice of specialized Arduino* Uno V3
13shields.
14
15The STM32 Nucleo-144 board does not require any separate probe as it integrates
16the ST-LINK/V3E debugger/programmer.
17
18The STM32 Nucleo-144 board comes with the STM32 comprehensive free software
19libraries and examples available with the STM32Cube MCU Package.
20
21Key Features
22
23- STM32 microcontroller in LQFP144 package
24- USB OTG or full-speed device (depending on STM32 support)
25- 3 user LEDs
26- 2 user and reset push-buttons
27- 32.768 kHz crystal oscillator
28- Board connectors:
29
30 - USB with Micro-AB
31 - SWD
32 - ST Zio connector including Arduino* Uno V3
33 - ST morpho
34
35- Flexible power-supply options: ST-LINK USB VBUS or external sources.
36- On-board ST-LINK/V3E debugger/programmer with USB re-enumeration
37- capability: mass storage, virtual COM port and debug port.
38- Comprehensive free software libraries and examples available with the
39  STM32Cube MCU package.
40- Arm* Mbed Enabled* compliant (only for some Nucleo part numbers)
41
42More information about the board can be found at the `Nucleo H7A3ZI-Q website`_.
43
44Hardware
45********
46
47Nucleo H7A3ZI-Q provides the following hardware components:
48
49- STM32H7A3ZI in LQFP144 package
50- ARM 32-bit Cortex-M7 CPU with FPU
51- Chrom-ART Accelerator
52- Hardware JPEG Codec
53- 280 MHz max CPU frequency
54- VDD from 1.62 V to 3.6 V
55- 2 MB Flash
56- ~1.4 Mbytes SRAM
57- 32-bit timers(2)
58- 16-bit timers(15)
59- SPI(6)
60- I2C(4)
61- I2S (3)
62- USART(5)
63- UART(5)
64- USB OTG Full Speed and High Speed(1)
65- CAN FD(2)
66- SAI(2)
67- SPDIF_Rx(4)
68- HDMI_CEC(1)
69- Dual Mode Quad SPI(1)
70- Camera Interface
71- GPIO (up to 114) with external interrupt capability
72- 16-bit ADC(2) with 24 channels / 3.6 MSPS
73- 12-bit DAC with 1/2 channels(2)
74- True Random Number Generator (RNG)
75- 16-channel DMA
76- LCD-TFT Controller with XGA resolution
77
78Supported Features
79==================
80
81.. zephyr:board-supported-hw::
82
83For more details please refer to `STM32 Nucleo-144 board User Manual`_.
84
85Default Zephyr Peripheral Mapping:
86----------------------------------
87
88The Nucleo H7A3ZI-Q board features a ST Zio connector (extended Arduino Uno V3)
89and a ST morpho connector. Board is configured as follows:
90
91- USART3 TX/RX : PD8/PD9 (ST-Link Virtual Port Com)
92- USER_PB : PC13
93- LD1 : PB0
94- LD2 : PE1
95- LD3 : PB14
96- ADC1_INP15 : PA3 (Arduino analog, A0)
97
98System Clock
99------------
100
101Nucleo H7A3ZI-Q System Clock could be driven by an internal or external
102oscillator, as well as the main PLL clock. By default, the System clock is
103driven by the PLL clock at 96MHz, driven by an 8MHz high-speed external clock.
104
105Serial Port
106-----------
107
108Nucleo H7A3ZI-Q board has 4 UARTs and 4 USARTs. The Zephyr console output is
109assigned to USART3. Default settings are 115200 8N1.
110
111Programming and Debugging
112*************************
113
114.. zephyr:board-supported-runners::
115
116Nucleo H7A3ZI-Q board includes an ST-LINK/V3E embedded debug tool interface.
117
118Applications for the ``nucleo_h7a3zi_q`` board configuration can be built and
119flashed in the usual way (see :ref:`build_an_application` and
120:ref:`application_run` for more details).
121
122Flashing
123========
124
125The board is configured to be flashed using west `STM32CubeProgrammer`_ runner,
126so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required.
127
128Alternatively, OpenOCD or JLink can also be used to flash the board using
129the ``--runner`` (or ``-r``) option:
130
131.. code-block:: console
132
133   $ west flash --runner openocd
134   $ west flash --runner jlink
135
136Flashing an application to Nucleo H7A3ZI-Q
137------------------------------------------
138
139Here is an example for the :zephyr:code-sample:`hello_world` application.
140
141Run a serial host program to connect with your Nucleo board.
142
143.. code-block:: console
144
145   $ minicom -b 115200 -D /dev/ttyACM0
146
147Build and flash the application:
148
149.. zephyr-app-commands::
150   :zephyr-app: samples/hello_world
151   :board: nucleo_h7a3zi_q
152   :goals: build flash
153
154You should see the following message on the console:
155
156.. code-block:: console
157
158   $ Hello World! nucleo_h7a3zi_q
159
160Debugging
161=========
162
163You can debug an application in the usual way.  Here is an example for the
164:zephyr:code-sample:`hello_world` application.
165
166.. zephyr-app-commands::
167   :zephyr-app: samples/hello_world
168   :board: nucleo_h7a3zi_q
169   :maybe-skip-config:
170   :goals: debug
171
172.. _Nucleo H7A3ZI-Q website:
173   https://www.st.com/en/evaluation-tools/nucleo-h7a3zi-q.html#overview
174
175.. _STM32 Nucleo-144 board User Manual:
176   https://www.st.com/resource/en/user_manual/um2408-stm32h7-nucleo144-boards-mb1363-stmicroelectronics.pdf
177
178.. _STM32H7A3ZI-Q on www.st.com:
179   https://www.st.com/en/microcontrollers-microprocessors/stm32h7a3zi.html
180
181.. _STM32H7A3ZI-Q reference manual:
182   https://www.st.com/resource/en/reference_manual/rm0455-stm32h7a37b3-and-stm32h7b0-value-line-advanced-armbased-32bit-mcus-stmicroelectronics.pdf
183
184.. _STM32CubeProgrammer:
185   https://www.st.com/en/development-tools/stm32cubeprog.html
186