1.. zephyr:board:: stm32f746g_disco 2 3Overview 4******** 5 6The discovery kit enables a wide diversity of applications taking benefit 7from audio, multi-sensor support, graphics, security, security, video, 8and high-speed connectivity features. Important board features include: 9 10- STM32F746NGH6 microcontroller featuring 1 Mbytes of Flash memory and 340 Kbytes of RAM, in BGA216 package 11- On-board ST-LINK/V2-1 supporting USB re-enumeration capability 12- Five power supply options: 13 14 - ST LINK/V2-1 15 - USB FS connector 16 - USB HS connector 17 - VIN from Arduino connector 18 - External 5 V from connector 19 20- Two pushbuttons (user and reset) 21- USB functions: virtual COM port, mass storage, debug port 22- 4.3-inch 480x272 color LCD-TFT with capacitive touch screen 23- SAI audio codec 24- Audio line in and line out jack 25- Stereo speaker outputs 26- Two ST MEMS microphones 27- SPDIF RCA input connector 28- 128-Mbit Quad-SPI Flash memory 29- 128-Mbit SDRAM (64 Mbits accessible) 30- Connector for microSD card 31- USB OTG HS with Micro-AB connectors 32- USB OTG FS with Micro-AB connectors 33- Ethernet connector compliant with IEEE-802.3-2002 34 35More information about the board can be found at the `32F746G-DISCO website`_. 36 37Hardware 38******** 39 40The STM32F746G Discovery kit provides the following hardware components: 41 42- STM32F746NGH6 in BGA216 package 43- ARM |reg| 32-bit Cortex |reg| -M7 CPU with FPU 44- 216 MHz max CPU frequency 45- VDD from 1.8 V to 3.6 V 46- 2 MB Flash 47- 384+4 KB SRAM including 64-Kbyte of core coupled memory 48- GPIO with external interrupt capability 49- LCD parallel interface, 8080/6800 modes 50- LCD TFT controller supporting up to XGA resolution 51- MIPI |reg| DSI host controller supporting up to 720p 30Hz resolution 52- 3x12-bit ADC with 24 channels 53- 2x12-bit D/A converters 54- RTC 55- Advanced-control Timer 56- General Purpose Timers (17) 57- Watchdog Timers (2) 58- USART/UART (8) 59- I2C (3) 60- SPI (6) 61- 1xSAI (serial audio interface) 62- SDIO 63- 2xCAN 64- USB 2.0 OTG FS with on-chip PHY 65- USB 2.0 OTG HS/FS with dedicated DMA, on-chip full-speed PHY and ULPI 66- 10/100 Ethernet MAC with dedicated DMA 67- 8- to 14-bit parallel camera 68- CRC calculation unit 69- True random number generator 70- DMA Controller 71 72More information about STM32F746NGH6 can be found here: 73 74- `STM32F746NGH6 on www.st.com`_ 75- `STM32F74xxx reference manual`_ 76 77Supported Features 78================== 79 80The Zephyr stm32f746g_disco board configuration supports the following hardware features: 81 82+-----------+------------+-------------------------------------+ 83| Interface | Controller | Driver/Component | 84+===========+============+=====================================+ 85| NVIC | on-chip | nested vector interrupt controller | 86+-----------+------------+-------------------------------------+ 87| UART | on-chip | serial port-polling; | 88| | | serial port-interrupt | 89+-----------+------------+-------------------------------------+ 90| PINMUX | on-chip | pinmux | 91+-----------+------------+-------------------------------------+ 92| GPIO | on-chip | gpio | 93+-----------+------------+-------------------------------------+ 94| FLASH | on-chip | flash memory | 95+-----------+------------+-------------------------------------+ 96| ETHERNET | on-chip | Ethernet | 97+-----------+------------+-------------------------------------+ 98| PWM | on-chip | pwm | 99+-----------+------------+-------------------------------------+ 100| I2C | on-chip | i2c | 101+-----------+------------+-------------------------------------+ 102| USB | on-chip | usb | 103+-----------+------------+-------------------------------------+ 104| SDMMC | on-chip | disk access | 105+-----------+------------+-------------------------------------+ 106| SPI | on-chip | spi | 107+-----------+------------+-------------------------------------+ 108| QSPI NOR | on-chip | off-chip flash | 109+-----------+------------+-------------------------------------+ 110| FMC | on-chip | memc (SDRAM) | 111+-----------+------------+-------------------------------------+ 112| LTDC | on-chip | display | 113+-----------+------------+-------------------------------------+ 114 115Other hardware features are not yet supported on Zephyr porting. 116 117The default configuration can be found in 118:zephyr_file:`boards/st/stm32f746g_disco/stm32f746g_disco_defconfig` 119 120Pin Mapping 121=========== 122 123STM32F746G Discovery kit has 9 GPIO controllers. These controllers are responsible for pin muxing, 124input/output, pull-up, etc. 125 126For more details please refer to `32F746G-DISCO board User Manual`_. 127 128Default Zephyr Peripheral Mapping: 129---------------------------------- 130 131The STM32F746G Discovery kit features an Arduino Uno V3 connector. Board is 132configured as follows 133 134- UART_1 TX/RX : PA9/PB7 (ST-Link Virtual Port Com) 135- UART_6 TX/RX : PC6/PC7 (Arduino Serial) 136- I2C1 SCL/SDA : PB8/PB9 (Arduino I2C) 137- SDMMC_1 D0/D1/D2/D3/CK/CD/CMD: PC8/PC9/PC10/PC11/PC12/PC13/PD2 138- SPI2 NSS/SCK/MISO/MOSI : PA8/PI1/PB14/PB15 (Arduino SPI) 139- PWM_3_CH1 : PB4 140- ETH : PA1, PA2, PA7, PC1, PC4, PC5, PG11, PG13, PG14 141- USER_PB : PI11 142- LD1 : PI1 143- USB DM : PA11 144- USB DP : PA12 145- FMC SDRAM : 146 147 - D0-D15 : PD14/PD15/PD0/PD1/PE7/PE8/PE9/PE10/PE11/PE12/PE13/PE14/PE15/PD8/PD9/PD10 148 - A0-A11 : PF0/PF1/PF2/PF3/PF4/PF5/PF12/PF13/PF14/PF15/PG0/PG1 149 - A14/A15 : PG4/PG5 150 - SDNRAS/SDNCAS : PF11/PG15 151 - NBL0/NBL1 : PE0/PE1 152 - SDCLK/SDNWE/SDCKE0/SDNE0 : PG8/PH5/PC3/PH3 153 154- LTDC : 155 156 - R0-R7 : PI15/PJ0/PJ1/PJ2/PJ3/PJ4/PJ5/PJ6 157 - G0-G7 : PJ7/PJ8/PJ9/PJ10/PJ11/PK0/PK1/PK2 158 - B0-B7 : PJ12/PK13/PJ14/PJ15/PK3/PK4/PK5/PK6 159 - DE/CLK/HSYNC/VSYNC : PK7/PI14/PI12/PI13 160 161 162System Clock 163============ 164 165The STM32F746G System Clock can be driven by an internal or external oscillator, 166as well as by the main PLL clock. By default, the System clock is driven by the PLL 167clock at 216MHz, driven by a 25MHz high speed external clock. 168 169Serial Port 170=========== 171 172The STM32F746G Discovery kit has up to 8 UARTs. The Zephyr console output is assigned to UART1 173which connected to the onboard ST-LINK/V2 Virtual COM port interface. Default communication 174settings are 115200 8N1. 175 176Programming and Debugging 177************************* 178 179STM32F746G Discovery kit includes an ST-LINK/V2 embedded debug tool interface. 180 181Applications for the ``stm32f746g_disco`` board configuration can be built and 182flashed in the usual way (see :ref:`build_an_application` and 183:ref:`application_run` for more details). 184 185Flashing 186======== 187 188The board is configured to be flashed using west `STM32CubeProgrammer`_ runner, 189so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required. 190 191Alternatively, OpenOCD or JLink can also be used to flash the board using 192the ``--runner`` (or ``-r``) option: 193 194.. code-block:: console 195 196 $ west flash --runner openocd 197 $ west flash --runner jlink 198 199Flashing an application to STM32F746G 200------------------------------------------- 201 202First, connect the STM32F746G Discovery kit to your host computer using 203the USB port to prepare it for flashing. Then build and flash your application. 204 205Here is an example for the :zephyr:code-sample:`hello_world` application. 206 207.. zephyr-app-commands:: 208 :zephyr-app: samples/hello_world 209 :board: stm32f746g_disco 210 :goals: build flash 211 212Run a serial host program to connect with your board: 213 214.. code-block:: console 215 216 $ minicom -D /dev/ttyACM0 217 218You should see the following message on the console: 219 220.. code-block:: console 221 222 Hello World! arm 223 224Debugging 225========= 226 227You can debug an application in the usual way. Here is an example for the 228:zephyr:code-sample:`hello_world` application. 229 230.. zephyr-app-commands:: 231 :zephyr-app: samples/hello_world 232 :board: stm32f746g_disco 233 :goals: debug 234 235 236.. _32F746G-DISCO website: 237 https://www.st.com/en/evaluation-tools/32f746gdiscovery.html 238 239.. _32F746G-DISCO board User Manual: 240 https://www.st.com/resource/en/user_manual/dm00190424.pdf 241 242.. _STM32F746NGH6 on www.st.com: 243 https://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-high-performance-mcus/stm32f7-series/stm32f7x6/stm32f746ng.html 244 245.. _STM32F74xxx reference manual: 246 https://www.st.com/resource/en/reference_manual/dm00124865.pdf 247 248.. _STM32CubeProgrammer: 249 https://www.st.com/en/development-tools/stm32cubeprog.html 250