1.. _nucleo_f746zg_board: 2 3ST Nucleo F746ZG 4################ 5 6Overview 7******** 8 9The STM32 Nucleo-144 boards offer combinations of performance and power that 10provide an affordable and flexible way for users to build prototypes and try 11out new concepts. For compatible boards, the SMPS significantly reduces power 12consumption in Run mode. 13 14The Arduino-compatible ST Zio connector expands functionality of the Nucleo 15open development platform, with a wide choice of specialized Arduino* Uno V3 16shields. 17 18The STM32 Nucleo-144 board does not require any separate probe as it integrates 19the ST-LINK/V2-1 debugger/programmer. 20 21The STM32 Nucleo-144 board comes with the STM32 comprehensive free software 22libraries and examples available with the STM32Cube MCU Package. 23 24Key Features 25 26- STM32 microcontroller in LQFP144 package 27- Ethernet compliant with IEEE-802.3-2002 (depending on STM32 support) 28- USB OTG or full-speed device (depending on STM32 support) 29- 3 user LEDs 30- 2 user and reset push-buttons 31- 32.768 kHz crystal oscillator 32- Board connectors: 33 34 - USB with Micro-AB 35 - SWD 36 - Ethernet RJ45 (depending on STM32 support) 37 - ST Zio connector including Arduino* Uno V3 38 - ST morpho 39 40- Flexible power-supply options: ST-LINK USB VBUS or external sources. 41- On-board ST-LINK/V2-1 debugger/programmer with USB re-enumeration 42- capability: mass storage, virtual COM port and debug port. 43- Comprehensive free software libraries and examples available with the 44 STM32Cube MCU package. 45- Arm* Mbed Enabled* compliant (only for some Nucleo part numbers) 46 47.. image:: img/nucleo_f746zg.jpg 48 :align: center 49 :alt: Nucleo F746ZG 50 51More information about the board can be found at the `Nucleo F746ZG website`_. 52 53Hardware 54******** 55 56Nucleo F746ZG provides the following hardware components: 57 58- STM32F746ZG in LQFP144 package 59- ARM 32-bit Cortex-M7 CPU with FPU 60- Chrom-ART Accelerator 61- ART Accelerator 62- 216 MHz max CPU frequency 63- VDD from 1.7 V to 3.6 V 64- 1 MB Flash 65- 320 KB SRAM 66- 16-bit timers(10) 67- 32-bit timers(2) 68- SPI(6) 69- I2C(4) 70- I2S (3) 71- USART(4) 72- UART(4) 73- USB OTG Full Speed and High Speed(1) 74- USB OTG Full Speed(1) 75- CAN(2) 76- SAI(2) 77- SPDIF_Rx(4) 78- HDMI_CEC(1) 79- Dual Mode Quad SPI(1) 80- Camera Interface 81- GPIO(up to 168) with external interrupt capability 82- 12-bit ADC(3) with 24 channels / 2.4 MSPS 83- 12-bit DAC with 2 channels(2) 84- True Random Number Generator (RNG) 85- 16-channel DMA 86- LCD-TFT Controller with XGA resolution 87 88Supported Features 89================== 90 91The Zephyr nucleo_f746zg board configuration supports the following hardware 92features: 93 94+-------------+------------+-------------------------------------+ 95| Interface | Controller | Driver/Component | 96+=============+============+=====================================+ 97| NVIC | on-chip | nested vector interrupt controller | 98+-------------+------------+-------------------------------------+ 99| UART | on-chip | serial port | 100+-------------+------------+-------------------------------------+ 101| PINMUX | on-chip | pinmux | 102+-------------+------------+-------------------------------------+ 103| GPIO | on-chip | gpio | 104+-------------+------------+-------------------------------------+ 105| ETHERNET | on-chip | ethernet | 106+-------------+------------+-------------------------------------+ 107| USB | on-chip | usb_device | 108+-------------+------------+-------------------------------------+ 109| COUNTER | on-chip | rtc | 110+-------------+------------+-------------------------------------+ 111| I2C | on-chip | i2c | 112+-------------+------------+-------------------------------------+ 113| PWM | on-chip | pwm | 114+-------------+------------+-------------------------------------+ 115| SPI | on-chip | spi | 116+-------------+------------+-------------------------------------+ 117| WATCHDOG | on-chip | independent watchdog | 118+-------------+------------+-------------------------------------+ 119| ADC | on-chip | ADC Controller | 120+-------------+------------+-------------------------------------+ 121| DAC | on-chip | DAC Controller | 122+-------------+------------+-------------------------------------+ 123| Backup SRAM | on-chip | Backup SRAM | 124+-------------+------------+-------------------------------------+ 125| RTC | on-chip | rtc | 126+-------------+------------+-------------------------------------+ 127 128Other hardware features are not yet supported on this Zephyr port. 129 130The default configuration can be found in 131:zephyr_file:`boards/st/nucleo_f746zg/nucleo_f746zg_defconfig` 132 133For more details please refer to `STM32 Nucleo-144 board User Manual`_. 134 135Default Zephyr Peripheral Mapping: 136---------------------------------- 137 138The Nucleo F746ZG board features a ST Zio connector (extended Arduino Uno V3) 139and a ST morpho connector. Board is configured as follows: 140 141- UART_2 TX/RX/RTS/CTS : PD5/PD6/PD4/PD3 142- UART_3 TX/RX : PD8/PD9 (ST-Link Virtual Port Com) 143- UART_6 TX/RX : PG14/PG9 (Arduino UART) 144- USER_PB : PC13 145- LD1 : PB0 146- LD2 : PB7 147- LD3 : PB14 148- ETH : PA1, PA2, PA7, PB13, PC1, PC4, PC5, PG11, PG13 149- USB DM : PA11 150- USB DP : PA12 151- I2C : PB8, PB9 152- PWM : PE13 153- SPI : PD14, PA5, PA6, PA7 154- ADC1_IN0 : PA0 155- DAC1_OUT1 : PA4 156 157Note. The Arduino Uno v3 specified SPI device conflicts with the on-board ETH 158device on pin PA7. 159 160System Clock 161------------ 162 163Nucleo F746ZG System Clock could be driven by an internal or external 164oscillator, as well as the main PLL clock. By default, the System clock is 165driven by the PLL clock at 72MHz, driven by an 8MHz high-speed external clock. 166 167Serial Port 168----------- 169 170Nucleo F746ZG board has 4 UARTs and 4 USARTs. The Zephyr console output is 171assigned to UART3. Default settings are 115200 8N1. 172 173Backup SRAM 174----------- 175 176In order to test backup SRAM you may want to disconnect VBAT from VDD. You can 177do it by removing ``SB156`` jumper on the back side of the board. 178 179Programming and Debugging 180************************* 181 182Applications for the ``nucleo_f746zg`` board configuration can be built and 183flashed in the usual way (see :ref:`build_an_application` and 184:ref:`application_run` for more details). 185 186Flashing 187======== 188 189Nucleo F746ZG board includes an ST-LINK/V2-1 embedded debug tool interface. 190 191Flashing an application to Nucleo F746ZG 192---------------------------------------- 193 194The board is configured to be flashed using west `STM32CubeProgrammer`_ runner, 195so its installation is required to be able to flash the board. 196 197Alternatively, openocd (provided in Zephyr SDK) or JLink can also be used to 198flash the board using the ``--runner`` (or ``-r``) option: 199 200.. code-block:: console 201 202 $ west flash --runner openocd 203 $ west flash --runner jlink 204 205Here is an example for the :ref:`hello_world` application. 206 207Run a serial host program to connect with your Nucleo board. 208 209.. code-block:: console 210 211 $ minicom -b 115200 -D /dev/ttyACM0 212 213Build and flash the application: 214 215.. zephyr-app-commands:: 216 :zephyr-app: samples/hello_world 217 :board: nucleo_f746zg 218 :goals: build flash 219 220You should see the following message on the console: 221 222.. code-block:: console 223 224 $ Hello World! nucleo_f746zg 225 226Debugging 227========= 228 229You can debug an application in the usual way. Here is an example for the 230:ref:`hello_world` application. 231 232.. zephyr-app-commands:: 233 :zephyr-app: samples/hello_world 234 :board: nucleo_f746zg 235 :maybe-skip-config: 236 :goals: debug 237 238.. _Nucleo F746ZG website: 239 https://www.st.com/en/evaluation-tools/nucleo-f746zg.html 240 241.. _STM32 Nucleo-144 board User Manual: 242 https://www.st.com/resource/en/user_manual/dm00244518.pdf 243 244.. _STM32F746ZG on www.st.com: 245 https://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-high-performance-mcus/stm32f7-series/stm32f7x6/stm32f746zg.html 246 247.. _STM32F746 reference manual: 248 https://www.st.com/resource/en/reference_manual/dm00124865.pdf 249 250.. _STM32CubeProgrammer: 251 https://www.st.com/en/development-tools/stm32cubeprog.html 252