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