1.. zephyr:board:: stm32f429i_disc1
2
3Overview
4********
5
6The STM32F429I-DISC1 Discovery kit features an ARM Cortex-M4 based STM32F429ZI MCU
7with a wide range of connectivity support and configurations. Here are
8some highlights of the STM32F429I-DISC1 board:
9
10- STM32 microcontroller in LQFP144 package
11- Extension header for all LQFP144 I/Os for quick connection to prototyping board and easy probing
12- On-board ST-LINK/V2-B debugger/programmer with SWD connector
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- Two push-buttons: USER and RESET
20- USB OTG FS with micro-AB connector
21- 2.4-inch QVGA LCD with MIPI DSI interface and capacitive touch screen
22- 64Mbit SDRAM
23- L3GD20, ST-MEMS motion sensor 3-axis digital output gyroscope
24- Six LEDs
25
26	- LD1 (red/green) for USB communication
27	- LD2 (red) for 3.3 V power-on
28	- Two user LEDs: LD3 (green), LD4 (red)
29	- Two USB OTG LEDs: LD5 (green) VBUS and LD6 (red) OC (over-current)
30
31More information about the board can be found at the `STM32F429I-DISC1 website`_.
32
33Hardware
34********
35
36The STM32F429I-DISC1 Discovery kit provides the following hardware components:
37
38- STM32F429ZIT6 in LQFP144 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- 256+4 KB SRAM including 64-Kbyte of core coupled memory
44- GPIO with external interrupt capability
45- 3x12-bit ADC with 24 channels
46- 2x12-bit D/A converters
47- RTC
48- Advanced-control Timer
49- General Purpose Timers (17)
50- Watchdog Timers (2)
51- USART/UART (4/4)
52- I2C (3)
53- SPI (6)
54- SDIO
55- 2xCAN
56- USB 2.0 OTG FS with on-chip PHY
57- USB 2.0 OTG HS/FS with dedicated DMA, on-chip full-speed PHY and ULPI
58- 10/100 Ethernet MAC with dedicated DMA
59- 8- to 14-bit parallel camera
60- CRC calculation unit
61- True random number generator
62- DMA Controller
63
64More information about STM32F429ZI can be found here:
65       - `STM32F429ZI on www.st.com`_
66       - `STM32F429 Reference Manual`_
67
68Supported Features
69==================
70
71The Zephyr stm32f429i_disc1 board configuration supports the following hardware features:
72
73+-----------+------------+-------------------------------------+
74| Interface | Controller | Driver/Component                    |
75+===========+============+=====================================+
76| NVIC      | on-chip    | nested vector interrupt controller  |
77+-----------+------------+-------------------------------------+
78| UART      | on-chip    | serial port-polling;                |
79|           |            | serial port-interrupt               |
80+-----------+------------+-------------------------------------+
81| PINMUX    | on-chip    | pinmux                              |
82+-----------+------------+-------------------------------------+
83| GPIO      | on-chip    | gpio                                |
84+-----------+------------+-------------------------------------+
85| PWM       | on-chip    | pwm                                 |
86+-----------+------------+-------------------------------------+
87| I2C       | on-chip    | i2c                                 |
88+-----------+------------+-------------------------------------+
89| SPI       | on-chip    | spi                                 |
90+-----------+------------+-------------------------------------+
91| FMC       | on-chip    | memc (SDRAM)                        |
92+-----------+------------+-------------------------------------+
93| OTG_HS    | on-chip    | usbotg_hs                           |
94+-----------+------------+-------------------------------------+
95| LTDC      | on-chip    | display                             |
96+-----------+------------+-------------------------------------+
97
98Other hardware features are not yet supported on Zephyr porting.
99
100The default configuration can be found in
101:zephyr_file:`boards/st/stm32f429i_disc1/stm32f429i_disc1_defconfig`
102
103
104Pin Mapping
105===========
106
107The STM32F429I-DISC1 Discovery kit has 8 GPIO controllers. These controllers are responsible for pin muxing,
108input/output, pull-up, etc.
109
110For more details please refer to `STM32F429I-DISC1 board User Manual`_.
111
112Default Zephyr Peripheral Mapping:
113----------------------------------
114- UART_1_TX : PA9
115- UART_1_RX : PA10
116- USER_PB : PA0
117- LD3 : PG13
118- LD4 : PG12
119- I2C_1_SCL : PB8
120- I2C_1_SDA : PB9
121- I2C_2_SCL : PB10
122- I2C_2_SDA : PB11
123- I2C_3_SCL : PA8
124- I2C_3_SDA : PC9
125- SPI_5_CS : PF6
126- SPI_5_SCK : PF7
127- SPI_5_MISO : PF8
128- SPI_5_MOSI : PF9
129- OTG_HS_ID : PB12
130- OTG_HS_DM : PB14
131- OTG_HS_DP : PB15
132
133System Clock
134============
135
136The STM32F429I-DISC1 System Clock could be driven by an internal or external oscillator,
137as well as by the main PLL clock. By default the system clock is driven by the PLL clock at 168MHz,
138driven by an 8MHz high speed external clock.
139
140Serial Port
141===========
142
143The STM32F429I-DISC1 Discovery kit has up to 8 UARTs. The Zephyr console output is assigned to UART1.
144The default communication settings are 115200 8N1.
145
146USB Port
147===========
148
149The STM32F429I-DISC1 Discovery kit has a USB FS capable Micro-B port. It is connected to the on-chip
150OTG_HS peripheral, but operates in FS mode only since no HS PHY is present. The board supports device
151and host OTG operation, but only device mode has been tested with Zephyr at this time.
152
153Programming and Debugging
154*************************
155
156The STM32F429I-DISC1 Discovery kit includes a ST-LINK/V2-B embedded debug tool interface.
157Applications for the ``stm32f429i_disc1`` board configuration can be built
158and flashed in the usual way (see :ref:`build_an_application` and
159:ref:`application_run` for more details).
160
161Flashing
162========
163
164The board is configured to be flashed using west `STM32CubeProgrammer`_ runner,
165so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required.
166
167Alternatively, OpenOCD, JLink, or pyOCD can also be used to flash the board using
168the ``--runner`` (or ``-r``) option:
169
170.. code-block:: console
171
172   $ west flash --runner openocd
173   $ west flash --runner jlink
174   $ west flash --runner pyocd
175
176First, connect the STM32F429I-DISC1 Discovery kit to your host computer using
177the USB port to prepare it for flashing. Then build and flash your application.
178
179Here is an example for the :zephyr:code-sample:`hello_world` application.
180
181.. zephyr-app-commands::
182   :zephyr-app: samples/hello_world
183   :board: stm32f429i_disc1
184   :goals: build flash
185
186Run a serial host program to connect with your board:
187
188.. code-block:: console
189
190   $ minicom -D /dev/ttyACM0
191
192Then, press the RESET button (The black one), you should see the following message:
193
194.. code-block:: console
195
196   Hello World! arm
197
198
199Debugging
200=========
201
202You can debug an application in the usual way.  Here is an example for the
203:zephyr:code-sample:`hello_world` application.
204
205.. zephyr-app-commands::
206   :zephyr-app: samples/hello_world
207   :board: stm32f429i_disc1
208   :goals: debug
209
210.. _STM32F429I-DISC1 website:
211   https://www.st.com/en/evaluation-tools/32f429idiscovery.html
212
213.. _STM32F429I-DISC1 board User Manual:
214   https://www.st.com/web/en/resource/technical/document/user_manual/DM00097320.pdf
215
216.. _STM32F429ZI on www.st.com:
217   https://www.st.com/en/microcontrollers/stm32f429-439.html
218
219.. _STM32F429 Reference Manual:
220   https://www.st.com/content/ccc/resource/technical/document/reference_manual/3d/6d/5a/66/b4/99/40/d4/DM00031020.pdf/files/DM00031020.pdf/jcr:content/translations/en.DM00031020.pdf
221
222.. _STM32CubeProgrammer:
223   https://www.st.com/en/development-tools/stm32cubeprog.html
224