1.. zephyr:board:: stm32f769i_disco
2
3Overview
4********
5
6The discovery kit enables a wide diversity of applications taking benefit
7from audio, multi-sensor support, graphics, security, security, video,
8and high-speed connectivity features. Important board features include:
9
10- STM32F769NIH6 microcontroller featuring 2 Mbytes of Flash memory and 512 Kbytes of RAM, in BGA216 package
11- On-board ST-LINK/V2-1 supporting USB reenumeration capability
12- USB ST-LINK functions: virtual COM port, mass storage, debug port
13- Five power supply options:
14
15  - ST LINK/V2-1
16  - USB HS connector
17  - 5 V from RJ45 (Power Over Ethernet)
18  - 5 V from Arduino™ or external connector
19  - USB charger
20
21- 4-inch capacitive touch LCD display with MIPI-DSI connector
22- SAI audio codec
23- Two audio line jacks, one for input and one for output
24- Stereo speaker outputs
25- Four ST MEMS microphones on DFSDM inputs
26- Two SPDIF RCA input and output connectors
27- Two push-buttons (user and reset)
28- 512-Mbit Quad-SPI Flash memory
29- 128-Mbit SDRAM
30- Connector for microSD card
31- Wi-Fi or Ext-EEP daughterboard connector
32- USB OTG HS with Micro-AB connector
33- Ethernet connector compliant with IEEE-802.3-2002
34- Power Over Ethernet based on IEEE 802.3af (Powered Device, 48 V to 5 V, 3 W)
35- Power supply output for external applications: 3.3 V or 5 V
36- Arduino Uno V3 connectors
37- Comprehensive free software including a variety of examples, part of the STM32Cube package
38- Supported by a wide choice of integrated development environments
39
40More information about the board can be found at the `32F769I-DISCO website`_.
41
42Hardware
43********
44
45The STM32F769I Discovery kit provides the following hardware components:
46
47- STM32F769NIH6 in BGA216 package
48- ARM |reg| 32-bit Cortex |reg| -M7 CPU with FPU
49- 216 MHz max CPU frequency
50- VDD from 1.7 V to 3.6 V
51- 2 MB Flash
52- 512 + 16 + 4 KB SRAM
53- Flexible external memory controller with up to 32-bit data bus
54- Dual mode Quad-SPI
55- Chrom-ART Accelerator(DMA2D), graphical hardware accelerator enabling enhanced graphical user interface
56- Hardware JPEG codec
57- LCD-TFT controller supporting up to XGA resolution
58- MIPI |reg|  DSI host controller supporting up to 720p 30Hz resolution
59- 3x12-bit ADC with 24 channels
60- 2x12-bit D/A converters
61- DMA Controller
62- General Purpose Timers (15)
63- Watchdog Timers (2)
64- I2C (4)
65- USART/UART (8)
66- SPI (6)
67- SAI (2)
68- CAN (3)
69- SDMMC (2)
70- SPDIFRX interface
71- HDMI-CEC
72- MDIO slave interface
73- USB 2.0 full-speed device/host/OTG controller with on-chip PHY
74- USB 2.0 high-speed/full-speed device/host/OTG controller with dedicated DMA, on-chip full-speed PHY and ULPI
75- 10/100 Ethernet MAC with dedicated DMA: supports IEEE 1588v2 hardware, MII/RMII
76- 8- to 14-bit camera interface up to 54 Mbyte/s
77- True random number generator
78- CRC calculation unit
79- RTC: sub-second accuracy, hardware calendar
80- 96-bit unique ID
81
82More information about STM32F769NIH6 can be found here:
83
84- `STM32F769NIH6 on www.st.com`_
85- `STM32F76xxx reference manual`_
86
87Supported Features
88==================
89
90.. zephyr:board-supported-hw::
91
92Pin Mapping
93===========
94
95STM32F769I Discovery kit has 9 GPIO controllers. These controllers are responsible for pin muxing,
96input/output, pull-up, etc.
97
98For more details please refer to `32F769I-DISCO board User Manual`_.
99
100Default Zephyr Peripheral Mapping:
101----------------------------------
102
103- UART_1 TX/RX : PA9/PA10 (ST-Link Virtual Port Com)
104- UART_6 TX/RX : PC6/PC7 (Arduino Serial)
105- I2C1 SCL/SDA : PB8/PB9 (Arduino I2C)
106- I2C4 SCL/SDA : PD12/PB7 (Touchscreen FT6202, PI13 Interrupt Pin)
107- SPI2 SCK/MISO/MOSI : PA12/PB14/PB15 (Arduino SPI)
108- ETH : PA1, PA2, PA7, PC1, PC4, PC5, PG11, PG13, PG14
109- LD1 : PJ13
110- LD2 : PJ5
111- LD3 : PA12
112- LD4 : PD4
113
114System Clock
115============
116
117The STM32F769I System Clock can be driven by an internal or external oscillator,
118as well as by the main PLL clock. By default, the System clock is driven by the PLL
119clock at 216MHz, driven by a 25MHz high speed external clock.
120
121Serial Port
122===========
123
124The STM32F769I Discovery kit has up to 8 UARTs. The Zephyr console output is assigned to UART1
125which connected to the onboard ST-LINK/V2 Virtual COM port interface. Default communication
126settings are 115200 8N1.
127
128Programming and Debugging
129*************************
130
131STM32F769I Discovery kit includes an ST-LINK/V2 embedded debug tool interface.
132
133Applications for the ``stm32f769i_disco`` board configuration can be built and
134flashed in the usual way (see :ref:`build_an_application` and
135:ref:`application_run` for more details).
136
137Flashing
138========
139
140The board is configured to be flashed using west `STM32CubeProgrammer`_ runner,
141so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required.
142
143Alternatively, OpenOCD or JLink can also be used to flash the board using
144the ``--runner`` (or ``-r``) option:
145
146.. code-block:: console
147
148   $ west flash --runner openocd
149   $ west flash --runner jlink
150
151Flashing an application to STM32F769I
152-------------------------------------------
153
154First, connect the STM32F769I Discovery kit to your host computer using
155the USB port to prepare it for flashing. Then build and flash your application.
156
157Here is an example for the :zephyr:code-sample:`hello_world` application.
158
159.. zephyr-app-commands::
160   :zephyr-app: samples/hello_world
161   :board: stm32f769i_disco
162   :goals: build flash
163
164Run a serial host program to connect with your board:
165
166.. code-block:: console
167
168   $ minicom -D /dev/ttyACM0
169
170You should see the following message on the console:
171
172.. code-block:: console
173
174   Hello World! arm
175
176Debugging
177=========
178
179You can debug an application in the usual way.  Here is an example for the
180:zephyr:code-sample:`hello_world` application.
181
182.. zephyr-app-commands::
183   :zephyr-app: samples/hello_world
184   :board: stm32f769i_disco
185   :goals: debug
186
187
188.. _32F769I-DISCO website:
189   https://www.st.com/en/evaluation-tools/32f769idiscovery.html
190
191.. _32F769I-DISCO board User Manual:
192   https://www.st.com/resource/en/user_manual/dm00276557.pdf
193
194.. _STM32F769NIH6 on www.st.com:
195	https://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-high-performance-mcus/stm32f7-series/stm32f7x9/stm32f769ni.html
196
197.. _STM32F76xxx reference manual:
198   https://www.st.com/resource/en/reference_manual/dm00224583.pdf
199
200.. _STM32CubeProgrammer:
201   https://www.st.com/en/development-tools/stm32cubeprog.html
202