1.. zephyr:board:: nucleo_f767zi 2 3Overview 4******** 5 6The STM32 Nucleo-144 F767ZI boards offer combinations of performance and 7power that provide an affordable and flexible way for users to build 8prototypes and try out new concepts. For compatible boards, the SMPS 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/V2-1 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 - SWD 33 - Ethernet RJ45 (depending on STM32 support) 34 - ST Zio connector including Arduino* Uno V3 35 - ST morpho 36 37- Flexible power-supply options: ST-LINK USB VBUS or external sources. 38- On-board ST-LINK/V2-1 debugger/programmer with USB re-enumeration 39- capability: mass storage, virtual COM port and debug port. 40- Comprehensive free software libraries and examples available with the 41 STM32Cube MCU package. 42- Arm* Mbed Enabled* compliant (only for some Nucleo part numbers) 43 44More information about the board can be found at the `Nucleo F767ZI website`_. 45 46Hardware 47******** 48 49Nucleo F767ZI provides the following hardware components: 50 51- STM32F767ZI in LQFP144 package 52- ARM 32-bit Cortex-M7 CPU with FPU 53- Chrom-ART Accelerator 54- ART Accelerator 55- 216 MHz max CPU frequency 56- VDD from 1.7 V to 3.6 V 57- 2 MB Flash 58- 512 KB SRAM 59- 16-bit timers(10) 60- 32-bit timers(2) 61- SPI(6) 62- I2C(4) 63- I2S (3) 64- USART(4) 65- UART(4) 66- USB OTG Full Speed and High Speed(1) 67- USB OTG Full Speed(1) 68- CAN(2) 69- SAI(2) 70- SPDIF_Rx(4) 71- HDMI_CEC(1) 72- Dual Mode Quad SPI(1) 73- Camera Interface 74- GPIO(up to 168) with external interrupt capability 75- 12-bit ADC(3) with 24 channels / 2.4 MSPS 76- 12-bit DAC with 2 channels(2) 77- True Random Number Generator (RNG) 78- 16-channel DMA 79- LCD-TFT Controller with XGA resolution 80 81Supported Features 82================== 83 84The Zephyr nucleo_f767zi board configuration supports the following hardware 85features: 86 87+-----------+------------+-------------------------------------+ 88| Interface | Controller | Driver/Component | 89+===========+============+=====================================+ 90| NVIC | on-chip | nested vector interrupt controller | 91+-----------+------------+-------------------------------------+ 92| UART | on-chip | serial port | 93+-----------+------------+-------------------------------------+ 94| PINMUX | on-chip | pinmux | 95+-----------+------------+-------------------------------------+ 96| GPIO | on-chip | gpio | 97+-----------+------------+-------------------------------------+ 98| ETHERNET | on-chip | ethernet (*) | 99+-----------+------------+-------------------------------------+ 100| USB | on-chip | usb_device | 101+-----------+------------+-------------------------------------+ 102| COUNTER | on-chip | rtc | 103+-----------+------------+-------------------------------------+ 104| I2C | on-chip | i2c | 105+-----------+------------+-------------------------------------+ 106| PWM | on-chip | pwm | 107+-----------+------------+-------------------------------------+ 108| SPI | on-chip | spi | 109+-----------+------------+-------------------------------------+ 110| WATCHDOG | on-chip | independent watchdog | 111+-----------+------------+-------------------------------------+ 112| ADC | on-chip | ADC Controller | 113+-----------+------------+-------------------------------------+ 114| RNG | on-chip | True Random number generator | 115+-----------+------------+-------------------------------------+ 116| DAC | on-chip | DAC Controller | 117+-----------+------------+-------------------------------------+ 118| RTC | on-chip | rtc | 119+-----------+------------+-------------------------------------+ 120 121 122(*) nucleo_f767zi with soc cut-A (Device marking A) has some ethernet 123 instability (:github:`26519`). 124 Use of cut-Z is advised. 125 see restrictions errata: 126 https://www.st.com/content/ccc/resource/technical/document/errata_sheet/group0/23/a6/11/0b/30/24/46/a5/DM00257543/files/DM00257543.pdf/jcr:content/translations/en.DM00257543.pdf 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_f767zi/nucleo_f767zi_defconfig` 132 133For more details please refer to `STM32 Nucleo-144 board User Manual`_. 134 135Default Zephyr Peripheral Mapping: 136---------------------------------- 137 138The Nucleo F767ZI 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 155.. note:: 156 The Arduino Uno v3 specified SPI device conflicts with the on-board ETH 157 device on pin PA7. 158 159System Clock 160------------ 161 162Nucleo F767ZI System Clock could be driven by an internal or external 163oscillator, as well as the main PLL clock. By default, the System clock is 164driven by the PLL clock at 72MHz, driven by an 8MHz high-speed external clock. 165 166Serial Port 167----------- 168 169Nucleo F767ZI board has 4 UARTs and 4 USARTs. The Zephyr console output is 170assigned to UART3. Default settings are 115200 8N1. 171 172 173Programming and Debugging 174************************* 175 176Nucleo F767ZI board includes an ST-LINK/V2-1 embedded debug tool interface. 177 178Applications for the ``nucleo_f767zi`` board configuration can be built and 179flashed in the usual way (see :ref:`build_an_application` and 180:ref:`application_run` for more details). 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 196Flashing an application to Nucleo F767ZI 197---------------------------------------- 198 199Here is an example for the :zephyr:code-sample:`hello_world` application. 200 201Run a serial host program to connect with your Nucleo board. 202 203.. code-block:: console 204 205 $ minicom -b 115200 -D /dev/ttyACM0 206 207Build and flash the application: 208 209.. zephyr-app-commands:: 210 :zephyr-app: samples/hello_world 211 :board: nucleo_f767zi 212 :goals: build flash 213 214You should see the following message on the console: 215 216.. code-block:: console 217 218 $ Hello World! nucleo_f767zi 219 220Debugging 221========= 222 223You can debug an application in the usual way. Here is an example for the 224:zephyr:code-sample:`hello_world` application. 225 226.. zephyr-app-commands:: 227 :zephyr-app: samples/hello_world 228 :board: nucleo_f767zi 229 :maybe-skip-config: 230 :goals: debug 231 232.. _Nucleo f767zi website: 233 https://www.st.com/en/evaluation-tools/nucleo-f767zi.html 234 235.. _STM32 Nucleo-144 board User Manual: 236 https://www.st.com/resource/en/user_manual/dm00244518.pdf 237 238.. _STM32f767zi on www.st.com: 239 https://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-high-performance-mcus/stm32f7-series/stm32f7x&/stm32f767zi.html 240 241.. _STM32F767 reference manual: 242 https://www.st.com/resource/en/reference_manual/DM00224583.pdf 243 244.. _STM32CubeProgrammer: 245 https://www.st.com/en/development-tools/stm32cubeprog.html 246