1.. _stm32f469i_disco_board:
2
3ST STM32F469I Discovery
4#######################
5
6Overview
7********
8
9The STM32F469 Discovery kit features an ARM Cortex-M4 based STM32F469NI MCU
10with a wide range of connectivity support and configurations Here are
11some highlights of the STM32F469I-DISCO board:
12
13
14- STM32 microcontroller in BGA216 package
15- On-board ST-LINK/V2-1 debugger/programmer, supporting USB reenumeration capability
16- Flexible board power supply:
17
18       - ST-LINK/V2-1 USB connector
19       - User USB FS connector
20       - VIN from Arduino* compatible connectors
21
22- Four user LEDs
23- Two push-buttons: USER and RESET
24- USB OTG FS with micro-AB connector
25- 4-inch 800x480 pixel TFT color LCD with MIPI DSI interface and capacitive touch screen
26- SAI Audio DAC, with a stereo headphone output jack
27- Three MEMS microphones
28- MicroSD card connector
29- I2C extension connector
30- 4Mx32bit SDRAM
31- 128-Mbit Quad-SPI NOR Flash
32- Expansion connectors and Arduino UNO V3 connectors
33
34.. image:: img/stm32f469i_disco.jpg
35     :align: center
36     :alt: STM32F469I-DISCO
37
38More information about the board can be found at the `32F469IDISCOVERY website`_.
39
40Hardware
41********
42
43STM32F469I-DISCO Discovery kit provides the following hardware components:
44
45- STM32F469NIH6 in BGA216 package
46- ARM |reg| 32-bit Cortex |reg| -M4 CPU with FPU
47- 180 MHz max CPU frequency
48- VDD from 1.8 V to 3.6 V
49- 2 MB Flash
50- 384+4 KB SRAM including 64-Kbyte of core coupled memory
51- GPIO with external interrupt capability
52- LCD parallel interface, 8080/6800 modes
53- LCD TFT controller supporting up to XGA resolution
54- MIPI |reg|  DSI host controller supporting up to 720p 30Hz resolution
55- 3x12-bit ADC with 24 channels
56- 2x12-bit D/A converters
57- RTC
58- Advanced-control Timer
59- General Purpose Timers (17)
60- Watchdog Timers (2)
61- USART/UART (8)
62- I2C (3)
63- SPI (6)
64- 1xSAI (serial audio interface)
65- SDIO
66- 2xCAN
67- USB 2.0 OTG FS with on-chip PHY
68- USB 2.0 OTG HS/FS with dedicated DMA, on-chip full-speed PHY and ULPI
69- 10/100 Ethernet MAC with dedicated DMA
70- 8- to 14-bit parallel camera
71- CRC calculation unit
72- True random number generator
73- DMA Controller
74
75More information about STM32F469NI can be found here:
76       - `STM32F469NI on www.st.com`_
77       - `STM32F469 reference manual`_
78
79Supported Features
80==================
81
82The Zephyr stm32f469i_disco board configuration supports the following hardware features:
83
84+-----------+------------+-------------------------------------+
85| Interface | Controller | Driver/Component                    |
86+===========+============+=====================================+
87| NVIC      | on-chip    | nested vector interrupt controller  |
88+-----------+------------+-------------------------------------+
89| UART      | on-chip    | serial port-polling;                |
90|           |            | serial port-interrupt               |
91+-----------+------------+-------------------------------------+
92| PINMUX    | on-chip    | pinmux                              |
93+-----------+------------+-------------------------------------+
94| GPIO      | on-chip    | gpio                                |
95+-----------+------------+-------------------------------------+
96| PWM       | on-chip    | pwm                                 |
97+-----------+------------+-------------------------------------+
98| SPI       | on-chip    | spi                                 |
99+-----------+------------+-------------------------------------+
100| SDIO      | on-chip    | SD-card controller                  |
101+-----------+------------+-------------------------------------+
102
103Other hardware features are not yet supported on Zephyr porting.
104
105The default configuration can be found in
106:zephyr_file:`boards/st/stm32f469i_disco/stm32f469i_disco_defconfig`
107
108
109Pin Mapping
110===========
111
112STM32F469I-DISCO Discovery kit has 9 GPIO controllers. These controllers are responsible for pin muxing,
113input/output, pull-up, etc.
114
115For more details please refer to `32F469IDISCOVERY board User Manual`_.
116
117Default Zephyr Peripheral Mapping:
118----------------------------------
119- UART_3 TX/RX : PB10/PB11 (ST-Link Virtual Port Com)
120- UART_6 TX/RX : PG14/PG9 (Arduino Serial)
121- I2C1 SCL/SDA : PB8/PB9 (Arduino I2C)
122- SPI2 NSS/SCK/MISO/MOSI : PH6/PD3/PB14/PB15 (Arduino SPI)
123- SDIO D0/D1/D2/D3/CLK/Detect : PC8/PC9/PC10/PC11/PC12/PG2
124- USB DM : PA11
125- USB DP : PA12
126- USER_PB : PA0
127- LD1 : PG6
128- LD2 : PD4
129- LD3 : PD5
130- LD4 : PK3
131
132System Clock
133============
134
135STM32F469I-DISCO System Clock could be driven by internal or external oscillator,
136as well as main PLL clock. By default System clock is driven by PLL clock at 180MHz,
137driven by 8MHz high speed external clock.
138
139Serial Port
140===========
141
142The STM32F469 Discovery kit has up to 8 UARTs. The Zephyr console output is assigned to UART3.
143Default settings are 115200 8N1.
144
145
146Programming and Debugging
147*************************
148
149Applications for the ``stm32f469i_disco`` board configuration can be built and
150flashed in the usual way (see :ref:`build_an_application` and
151:ref:`application_run` for more details).
152
153Flashing
154========
155
156STM32F469I-DISCO Discovery kit includes an ST-LINK/V2 embedded debug tool interface.
157This interface is supported by the openocd version included in Zephyr SDK.
158
159Flashing an application to STM32F469I-DISCO
160-------------------------------------------
161
162First, connect the STM32F469I-DISCO Discovery kit to your host computer using
163the USB port to prepare it for flashing. Then build and flash your application.
164
165Here is an example for the :ref:`hello_world` application.
166
167.. zephyr-app-commands::
168   :zephyr-app: samples/hello_world
169   :board: stm32f469i_disco
170   :goals: build flash
171
172Run a serial host program to connect with your board:
173
174.. code-block:: console
175
176   $ minicom -D /dev/ttyACM0
177
178You should see the following message on the console:
179
180.. code-block:: console
181
182   Hello World! arm
183
184
185Debugging
186=========
187
188You can debug an application in the usual way.  Here is an example for the
189:ref:`hello_world` application.
190
191.. zephyr-app-commands::
192   :zephyr-app: samples/hello_world
193   :board: stm32f469i_disco
194   :goals: debug
195
196
197.. _32F469IDISCOVERY website:
198   https://www.st.com/en/evaluation-tools/32f469idiscovery.html
199
200.. _32F469IDISCOVERY board User Manual:
201   https://www.st.com/resource/en/user_manual/dm00218846.pdf
202
203.. _STM32F469NI on www.st.com:
204   https://www.st.com/en/microcontrollers/stm32f469ni.html
205
206.. _STM32F469 reference manual:
207   https://www.st.com/resource/en/reference_manual/dm00127514.pdf
208