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