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 the defconfig file:
106
107	``boards/arm/stm32f469i_disco/stm32f469i_disco_defconfig``
108
109
110Pin Mapping
111===========
112
113STM32F469I-DISCO Discovery kit has 9 GPIO controllers. These controllers are responsible for pin muxing,
114input/output, pull-up, etc.
115
116For mode details please refer to `32F469IDISCOVERY board User Manual`_.
117
118Default Zephyr Peripheral Mapping:
119----------------------------------
120- UART_3 TX/RX : PB10/PB11 (ST-Link Virtual Port Com)
121- UART_6 TX/RX : PG14/PG9 (Arduino Serial)
122- I2C1 SCL/SDA : PB8/PB9 (Arduino I2C)
123- SPI2 NSS/SCK/MISO/MOSI : PH6/PD3/PB14/PB15 (Arduino SPI)
124- SDIO D0/D1/D2/D3/CLK/Detect : PC8/PC9/PC10/PC11/PC12/PG2
125- USB DM : PA11
126- USB DP : PA12
127- USER_PB : PA0
128- LD1 : PG6
129- LD2 : PD4
130- LD3 : PD5
131- LD4 : PK3
132
133System Clock
134============
135
136STM32F469I-DISCO System Clock could be driven by internal or external oscillator,
137as well as main PLL clock. By default System clock is driven by PLL clock at 180MHz,
138driven by 8MHz high speed external clock.
139
140Serial Port
141===========
142
143The STM32F469 Discovery kit has up to 8 UARTs. The Zephyr console output is assigned to UART3.
144Default settings are 115200 8N1.
145
146
147Programming and Debugging
148*************************
149
150Applications for the ``stm32f469i_disco`` board configuration can be built and
151flashed in the usual way (see :ref:`build_an_application` and
152:ref:`application_run` for more details).
153
154Flashing
155========
156
157STM32F469I-DISCO Discovery kit includes an ST-LINK/V2 embedded debug tool interface.
158This interface is supported by the openocd version included in Zephyr SDK.
159
160Flashing an application to STM32F469I-DISCO
161-------------------------------------------
162
163First, connect the STM32F469I-DISCO Discovery kit to your host computer using
164the USB port to prepare it for flashing. Then build and flash your application.
165
166Here is an example for the :ref:`hello_world` application.
167
168.. zephyr-app-commands::
169   :zephyr-app: samples/hello_world
170   :board: stm32f469i_disco
171   :goals: build flash
172
173Run a serial host program to connect with your board:
174
175.. code-block:: console
176
177   $ minicom -D /dev/ttyACM0
178
179You should see the following message on the console:
180
181.. code-block:: console
182
183   Hello World! arm
184
185
186Debugging
187=========
188
189You can debug an application in the usual way.  Here is an example for the
190:ref:`hello_world` application.
191
192.. zephyr-app-commands::
193   :zephyr-app: samples/hello_world
194   :board: stm32f469i_disco
195   :goals: debug
196
197
198.. _32F469IDISCOVERY website:
199   https://www.st.com/en/evaluation-tools/32f469idiscovery.html
200
201.. _32F469IDISCOVERY board User Manual:
202   https://www.st.com/resource/en/user_manual/dm00218846.pdf
203
204.. _STM32F469NI on www.st.com:
205   https://www.st.com/en/microcontrollers/stm32f469ni.html
206
207.. _STM32F469 reference manual:
208   https://www.st.com/resource/en/reference_manual/dm00127514.pdf
209