| .. _nucleo_h723zg_board: |
| |
| ST Nucleo H723ZG |
| ################ |
| |
| Overview |
| ******** |
| |
| The STM32 Nucleo-144 board provides an affordable and flexible way for users |
| to try out new concepts and build prototypes by choosing from the various combinations |
| of performance and power consumption features, provided by the STM32 microcontroller. |
| For the compatible boards, the internal or external SMPS significantly reduces power |
| consumption in Run mode. |
| |
| The ST Zio connector, which extends the ARDUINO® Uno V3 connectivity, and |
| the ST morpho headers provide an easy means of expanding the functionality of the Nucleo |
| open development platform with a wide choice of specialized shields. |
| The STM32 Nucleo-144 board does not require any separate probe as it integrates |
| the ST-LINK V3 debugger/programmer. |
| |
| The STM32 Nucleo-144 board comes with the STM32 comprehensive free software |
| libraries and examples available with the STM32Cube MCU Package. |
| |
| Key Features |
| |
| - STM32 microcontroller in LQFP144 package |
| - Ethernet compliant with IEEE-802.3-2002 (depending on STM32 support) |
| - USB OTG or full-speed device (depending on STM32 support) |
| - 3 user LEDs |
| - 2 user and reset push-buttons |
| - 32.768 kHz crystal oscillator |
| - Board connectors: |
| |
| - USB with Micro-AB |
| - Ethernet RJ45 (depending on STM32 support) |
| - SWDST Zio connector including Arduino* Uno V3ST |
| - ST morpho expansion |
| |
| - Flexible power-supply options: ST-LINK USB VBUS or external sources |
| - External or internal SMPS to generate Vcore logic supply |
| - On-board ST-LINK/V3 debugger/programmer with USB re-enumeration |
| - capability: mass storage, virtual COM port and debug port |
| - USB OTG full speed or device only |
| |
| .. image:: img/nucleo_h723zg.jpg |
| :width: 720px |
| :align: center |
| :height: 560px |
| :alt: Nucleo H723ZG |
| |
| More information about the board can be found at the `Nucleo H723ZG website`_. |
| |
| Hardware |
| ******** |
| |
| Nucleo H723ZG provides the following hardware components: |
| |
| - STM32H723ZG in LQFP144 package |
| - ARM 32-bit Cortex-M7 CPU with FPU |
| - Chrom-ART Accelerator |
| - Hardware JPEG Codec |
| - 550 MHz max CPU frequency |
| - VDD from 1.62 V to 3.6 V |
| - 1 MB Flash |
| - 562 kB SRAM max (376 kb used currently) |
| - High-resolution timer (2.1 ns) |
| - 32-bit timers(2) |
| - 16-bit timers(12) |
| - SPI(6) |
| - I2C(4) |
| - I2S (3) |
| - USART(4) |
| - UART(4) |
| - USB OTG Full Speed and High Speed(1) |
| - USB OTG Full Speed(1) |
| - CAN-FD(2) |
| - SAI(2) |
| - SPDIF_Rx(4) |
| - HDMI_CEC(1) |
| - Dual Mode Quad SPI(1) |
| - Camera Interface |
| - GPIO (up to 114) with external interrupt capability |
| - 16-bit ADC(3) with 36 channels / 3.6 MSPS |
| - 12-bit DAC with 2 channels(2) |
| - True Random Number Generator (RNG) |
| - 16-channel DMA |
| - LCD-TFT Controller with XGA resolution |
| |
| Supported Features |
| ================== |
| |
| The Zephyr nucleo_h723zg board configuration supports the following hardware |
| features: |
| |
| +-------------+------------+-------------------------------------+ |
| | Interface | Controller | Driver/Component | |
| +=============+============+=====================================+ |
| | NVIC | on-chip | nested vector interrupt controller | |
| +-------------+------------+-------------------------------------+ |
| | UART | on-chip | serial port | |
| +-------------+------------+-------------------------------------+ |
| | PINMUX | on-chip | pinmux | |
| +-------------+------------+-------------------------------------+ |
| | GPIO | on-chip | gpio | |
| +-------------+------------+-------------------------------------+ |
| | RTC | on-chip | counter | |
| +-------------+------------+-------------------------------------+ |
| | I2C | on-chip | i2c | |
| +-------------+------------+-------------------------------------+ |
| | SPI | on-chip | spi | |
| +-------------+------------+-------------------------------------+ |
| | PWM | on-chip | pwm | |
| +-------------+------------+-------------------------------------+ |
| | ETHERNET | on-chip | ethernet | |
| +-------------+------------+-------------------------------------+ |
| | RNG | on-chip | True Random number generator | |
| +-------------+------------+-------------------------------------+ |
| | Backup SRAM | on-chip | Backup SRAM | |
| +-------------+------------+-------------------------------------+ |
| |
| Other hardware features are not yet supported on this Zephyr port. |
| |
| The default configuration per core can be found in the defconfig files: |
| ``boards/arm/nucleo_h723zg/nucleo_h723zg_defconfig`` |
| |
| For mode details please refer to `STM32 Nucleo-144 board User Manual`_. |
| |
| Default Zephyr Peripheral Mapping: |
| ---------------------------------- |
| |
| The Nucleo H723ZG board features a ST Zio connector (extended Arduino Uno V3) |
| and a ST morpho connector. Board is configured as follows: |
| |
| - UART_3 TX/RX : PD8/PD9 (ST-Link Virtual Port Com) |
| - USER_PB : PC13 |
| - LD1 : PB0 |
| - LD2 : PB7 |
| - LD3 : PB14 |
| - I2C : PB8, PB9 |
| - SPI1 NSS/SCK/MISO/MOSI : PD14PA5/PA6/PB5 (Arduino SPI) |
| |
| System Clock |
| ------------ |
| |
| Nucleo H723ZG System Clock could be driven by an internal or external |
| oscillator, as well as the main PLL clock. By default, the System clock is |
| driven by the PLL clock at 550MHz, driven by an 8MHz high-speed external clock. |
| |
| Serial Port |
| ----------- |
| |
| Nucleo H723ZG board has 4 UARTs and 4 USARTs. The Zephyr console output is |
| assigned to UART3. Default settings are 115200 8N1. |
| |
| Backup SRAM |
| ----------- |
| |
| In order to test backup SRAM you may want to disconnect VBAT from VDD. You can |
| do it by removing ``SB52`` jumper on the back side of the board. |
| |
| Programming and Debugging |
| ************************* |
| |
| Currently the ``nucleo_h723zg`` board supports stm32cubeprogrammer (default), OpenOCD and J-Link debuggers. |
| |
| .. note:: |
| |
| Official OpenOCD support for this board was added on October '20. |
| Make sure your openocd version is older than that. |
| Following links may be helpful: `OpenOCD installing Debug Version`_ |
| and `OpenOCD installing with ST-LINK V3 support`_ |
| |
| .. note:: |
| |
| Check if your ST-LINK V3 has newest FW version. It can be done with `STM32CubeIDE`_ |
| |
| Flashing |
| ======== |
| |
| Nucleo H723ZG board includes an ST-LINK/V3 embedded debug tool interface. |
| |
| First, connect the NUCLEO-H723ZG to your host computer using |
| the USB port to prepare it for flashing. Then build and flash your application. |
| |
| Here is an example for the :ref:`hello_world` application. |
| |
| Run a serial host program to connect with your NUCLEO-H723ZG board. |
| |
| .. code-block:: console |
| |
| $ minicom -b 115200 -D /dev/ttyACM0 |
| |
| or use screen: |
| |
| .. code-block:: console |
| |
| $ screen /dev/ttyACM0 115200 |
| |
| Build and flash the application: |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/hello_world |
| :board: nucleo_h723zg |
| :goals: build flash |
| |
| You should see the following message on the console: |
| |
| .. code-block:: console |
| |
| $ Hello World! nucleo_h723zg |
| |
| Blinky example can also be used: |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/basic/blinky |
| :board: nucleo_h723zg |
| :goals: build flash |
| |
| Debugging |
| ========= |
| |
| You can debug an application in the usual way. Here is an example for the |
| :ref:`hello_world` application. |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/hello_world |
| :board: nucleo_h723zg |
| :maybe-skip-config: |
| :goals: debug |
| |
| .. _Nucleo H723ZG website: |
| https://www.st.com/en/evaluation-tools/nucleo-h723zg.html |
| |
| .. _STM32 Nucleo-144 board User Manual: |
| https://www.st.com/resource/en/user_manual/dm00499160-stm32h7-nucleo144-boards-mb1364-stmicroelectronics.pdf |
| |
| .. _STM32H723ZG on www.st.com: |
| https://www.st.com/en/microcontrollers-microprocessors/stm32h723zg.html |
| |
| .. _STM32H723 reference manual: |
| https://www.st.com/resource/en/reference_manual/dm00603761-stm32h723733-stm32h725735-and-stm32h730-value-line-advanced-armbased-32bit-mcus-stmicroelectronics.pdf |
| |
| .. _OpenOCD installing Debug Version: |
| https://github.com/zephyrproject-rtos/openocd |
| |
| .. _OpenOCD installing with ST-LINK V3 support: |
| https://mbd.kleier.net/integrating-st-link-v3.html |
| |
| .. _STM32CubeIDE: |
| https://www.st.com/en/development-tools/stm32cubeide.html |