1.. zephyr:board:: nucleo_h723zg 2 3Overview 4******** 5 6The STM32 Nucleo-144 board provides an affordable and flexible way for users 7to try out new concepts and build prototypes by choosing from the various combinations 8of performance and power consumption features, provided by the STM32 microcontroller. 9For the compatible boards, the internal or external SMPS significantly reduces power 10consumption in Run mode. 11 12The ST Zio connector, which extends the ARDUINO® Uno V3 connectivity, and 13the ST morpho headers provide an easy means of expanding the functionality of the Nucleo 14open development platform with a wide choice of specialized shields. 15The STM32 Nucleo-144 board does not require any separate probe as it integrates 16the ST-LINK V3 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- Ethernet compliant with IEEE-802.3-2002 (depending on STM32 support) 25- USB OTG or full-speed device (depending on STM32 support) 26- 3 user LEDs 27- 2 user and reset push-buttons 28- 32.768 kHz crystal oscillator 29- Board connectors: 30 31 - USB with Micro-AB 32 - Ethernet RJ45 (depending on STM32 support) 33 - SWDST Zio connector including Arduino* Uno V3ST 34 - ST morpho expansion 35 36- Flexible power-supply options: ST-LINK USB VBUS or external sources 37- External or internal SMPS to generate Vcore logic supply 38- On-board ST-LINK/V3 debugger/programmer with USB re-enumeration 39- capability: mass storage, virtual COM port and debug port 40- USB OTG full speed or device only 41 42More information about the board can be found at the `Nucleo H723ZG website`_. 43 44Hardware 45******** 46 47Nucleo H723ZG provides the following hardware components: 48 49- STM32H723ZG in LQFP144 package 50- ARM 32-bit Cortex-M7 CPU with FPU 51- Chrom-ART Accelerator 52- Hardware JPEG Codec 53- 550 MHz max CPU frequency 54- VDD from 1.62 V to 3.6 V 55- 1 MB Flash 56- 562 kB SRAM max (376 kb used currently) 57- High-resolution timer (2.1 ns) 58- 32-bit timers(2) 59- 16-bit timers(12) 60- SPI(6) 61- I2C(4) 62- I2S (3) 63- USART(4) 64- UART(4) 65- USB OTG Full Speed and High Speed(1) 66- USB OTG Full Speed(1) 67- CAN FD(2) 68- SAI(2) 69- SPDIF_Rx(4) 70- HDMI_CEC(1) 71- Dual Mode Quad SPI(1) 72- Camera Interface 73- GPIO (up to 114) with external interrupt capability 74- 16-bit ADC(3) with 36 channels / 3.6 MSPS 75- 12-bit DAC with 2 channels(2) 76- True Random Number Generator (RNG) 77- 16-channel DMA 78- LCD-TFT Controller with XGA resolution 79 80Supported Features 81================== 82 83The Zephyr nucleo_h723zg board configuration supports the following hardware 84features: 85 86+-------------+------------+-------------------------------------+ 87| Interface | Controller | Driver/Component | 88+=============+============+=====================================+ 89| NVIC | on-chip | nested vector interrupt controller | 90+-------------+------------+-------------------------------------+ 91| UART | on-chip | serial port | 92+-------------+------------+-------------------------------------+ 93| PINMUX | on-chip | pinmux | 94+-------------+------------+-------------------------------------+ 95| GPIO | on-chip | gpio | 96+-------------+------------+-------------------------------------+ 97| RTC | on-chip | counter | 98+-------------+------------+-------------------------------------+ 99| I2C | on-chip | i2c | 100+-------------+------------+-------------------------------------+ 101| SPI | on-chip | spi | 102+-------------+------------+-------------------------------------+ 103| PWM | on-chip | pwm | 104+-------------+------------+-------------------------------------+ 105| ETHERNET | on-chip | ethernet | 106+-------------+------------+-------------------------------------+ 107| RNG | on-chip | True Random number generator | 108+-------------+------------+-------------------------------------+ 109| Backup SRAM | on-chip | Backup SRAM | 110+-------------+------------+-------------------------------------+ 111| RTC | on-chip | rtc | 112+-------------+------------+-------------------------------------+ 113| FDCAN1 | on-chip | CAN-FD Controller | 114+-------------+------------+-------------------------------------+ 115 116Other hardware features are not yet supported on this Zephyr port. 117 118The default configuration can be found in the defconfig files: 119:zephyr_file:`boards/st/nucleo_h723zg/nucleo_h723zg_defconfig` 120 121For more details please refer to `STM32 Nucleo-144 board User Manual`_. 122 123Default Zephyr Peripheral Mapping: 124---------------------------------- 125 126The Nucleo H723ZG board features a ST Zio connector (extended Arduino Uno V3) 127and a ST morpho connector. Board is configured as follows: 128 129- UART_3 TX/RX : PD8/PD9 (ST-Link Virtual Port Com) 130- USER_PB : PC13 131- LD1 : PB0 132- LD2 : PE1 133- LD3 : PB14 134- I2C : PB8, PB9 135- SPI1 NSS/SCK/MISO/MOSI : PD14/PA5/PA6/PB5 (Arduino SPI) 136- FDCAN1 RX/TX : PD0, PD1 137 138System Clock 139------------ 140 141Nucleo H723ZG System Clock could be driven by an internal or external 142oscillator, as well as the main PLL clock. By default, the System clock is 143driven by the PLL clock at 550MHz, driven by an 8MHz high-speed external clock. 144 145Serial Port 146----------- 147 148Nucleo H723ZG board has 4 UARTs and 4 USARTs. The Zephyr console output is 149assigned to UART3. Default settings are 115200 8N1. 150 151Backup SRAM 152----------- 153 154In order to test backup SRAM you may want to disconnect VBAT from VDD. You can 155do it by removing ``SB52`` jumper on the back side of the board. 156 157FDCAN 158===== 159 160The Nucleo H723ZG board does not have any onboard CAN transceiver. In order to 161use the FDCAN bus on this board, an external CAN bus transceiver must be 162connected to pins PD0 (RX) and PD1 (TX). 163 164Programming and Debugging 165************************* 166 167Nucleo H723ZG board includes an ST-LINK/V3 embedded debug tool interface. 168 169.. note:: 170 171 Check if your ST-LINK V3 has newest FW version. It can be done with `STM32CubeProgrammer`_ 172 173Flashing 174======== 175 176The board is configured to be flashed using west `STM32CubeProgrammer`_ runner, 177so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required. 178 179Alternatively, OpenOCD or JLink can also be used to flash the board using 180the ``--runner`` (or ``-r``) option: 181 182.. code-block:: console 183 184 $ west flash --runner openocd 185 $ west flash --runner jlink 186 187Flashing an application to Nucleo H723ZG 188---------------------------------------- 189 190First, connect the NUCLEO-H723ZG to your host computer using 191the USB port to prepare it for flashing. Then build and flash your application. 192 193Here is an example for the :zephyr:code-sample:`hello_world` application. 194 195Run a serial host program to connect with your NUCLEO-H723ZG board. 196 197.. code-block:: console 198 199 $ minicom -b 115200 -D /dev/ttyACM0 200 201or use screen: 202 203.. code-block:: console 204 205 $ screen /dev/ttyACM0 115200 206 207Build and flash the application: 208 209.. zephyr-app-commands:: 210 :zephyr-app: samples/hello_world 211 :board: nucleo_h723zg 212 :goals: build flash 213 214You should see the following message on the console: 215 216.. code-block:: console 217 218 $ Hello World! nucleo_h723zg 219 220Blinky example can also be used: 221 222.. zephyr-app-commands:: 223 :zephyr-app: samples/basic/blinky 224 :board: nucleo_h723zg 225 :goals: build flash 226 227Debugging 228========= 229 230You can debug an application in the usual way. Here is an example for the 231:zephyr:code-sample:`hello_world` application. 232 233.. zephyr-app-commands:: 234 :zephyr-app: samples/hello_world 235 :board: nucleo_h723zg 236 :maybe-skip-config: 237 :goals: debug 238 239.. _Nucleo H723ZG website: 240 https://www.st.com/en/evaluation-tools/nucleo-h723zg.html 241 242.. _STM32 Nucleo-144 board User Manual: 243 https://www.st.com/resource/en/user_manual/dm00499160-stm32h7-nucleo144-boards-mb1364-stmicroelectronics.pdf 244 245.. _STM32H723ZG on www.st.com: 246 https://www.st.com/en/microcontrollers-microprocessors/stm32h723zg.html 247 248.. _STM32H723 reference manual: 249 https://www.st.com/resource/en/reference_manual/dm00603761-stm32h723733-stm32h725735-and-stm32h730-value-line-advanced-armbased-32bit-mcus-stmicroelectronics.pdf 250 251.. _OpenOCD installing Debug Version: 252 https://github.com/zephyrproject-rtos/openocd 253 254.. _OpenOCD installing with ST-LINK V3 support: 255 https://mbd.kleier.net/integrating-st-link-v3.html 256 257.. _STM32CubeIDE: 258 https://www.st.com/en/development-tools/stm32cubeide.html 259 260.. _STM32CubeProgrammer: 261 https://www.st.com/en/development-tools/stm32cubeprog.html 262