1.. zephyr:board:: stm32h7b3i_dk 2 3Overview 4******** 5 6The STM32H7B3I-DK Discovery kit is a complete demonstration and development 7platform for STMicroelectronics Arm® Cortex®-M7 core-based STM32H7B3LIH6QU 8microcontroller. 9 10The STM32H7B3I-DK Discovery kit is used as a reference design for user 11application development before porting to the final product, thus simplifying 12the application development. 13 14The full range of hardware features available on the board helps users enhance 15their application development by an evaluation of almost all peripherals (such as 16USB OTG_HS, microSD, USART, FDCAN, audio DAC stereo with audio jack input and output, 17camera, SDRAM, Octo-SPI Flash memory and RGB interface LCD with capacitive touch 18panel). ARDUINO® Uno V3 connectors provide easy connection to extension shields or 19daughterboards for specific applications. 20 21Important board features include: 22 23- STM32H7B3LIH6Q microcontroller featuring 2 Mbytes of Flash memory and 1.4 Mbyte of RAM in BGA225 package 24- 4.3" (480x272 pixels) TFT color LCD module including a capacitive touch panel with RGB interface 25- Wi-Fi |reg| module compliant with 802.11 b/g/n 26- USB OTG HS 27- Audio codec 28- 512-Mbit Octo-SPI NOR Flash memory 29- 128-Mbit SDRAM 30- 2 user LEDs 31- User and Reset push-buttons 32- Fanout daughterboard 33- 1x FDCAN 34- Board connectors: 35 - Camera (8 bit) 36 - USB with Micro-AB 37 - Stereo headset jack including analog microphone input 38 - Audio jack for external speakers 39 - microSD |trade| card 40 - TAG-Connect 10-pin footprint 41 - Arm |reg| Cortex |reg| 10-pin 1.27mm-pitch debug connector over STDC14 footprint 42 - ARDUINO |reg| Uno V3 expansion connector 43 - STMod+ expansion connector 44 - Audio daughterboard expansion connector 45 - External I2C expansion connector 46- Flexible power-supply options: 47 - ST-LINK USB VBUS, USB OTG HS connector, or external sources 48- On-board STLINK-V3E debugger/programmer with USB re-enumeration capability 49 50More information about the board can be found at the `STM32H7B3I-DK website`_. 51 52Hardware 53******** 54 55The STM32H7B3I Discovery kit provides the following hardware components: 56 57- STM32H7B3LIH6Q in BGA225 package 58- ARM |reg| 32-bit Cortex |reg| -M7 CPU with FPU 59- 280 MHz max CPU frequency 60- VDD from 1.62 V to 3.6 V 61- 2 MB Flash 62- ~1.4 Mbytes SRAM 63- 32-bit timers(2) 64- 16-bit timers(15) 65- SPI(6) 66- I2C(4) 67- I2S (4) 68- USART(5) 69- UART(5) 70- USB OTG Full Speed and High Speed(1) 71- CAN FD(2) 72- 2xSAI (serial audio interface) 73- SPDIFRX interface(1) 74- HDMI-CEC(1) 75- Octo-SPI memory interfaces with on-the-fly decryption(2) 76- 8- to 14-bit camera interface (1) 77- 8-/16-bit parallel synchronous data input/output slave interface (PSSI) 78- GPIO (up to 168) with external interrupt capability 79- 16-bit ADC(2) with 24 channels / 3.6 MSPS 80- 1x12-bit single-channel DAC + 1x12-bit dual-channel DAC 81- True Random Number Generator (RNG) 82- 5 DMA controllers 83- LCD-TFT Controller with XGA resolution 84- Chrom-ART graphical hardware Accelerator (DMA2D) 85- Hardware JPEG Codec 86- Chrom-GRC™ (GFXMMU) 87 88More information about STM32H7B3 can be found here: 89 90- `STM32H7A3/7B3 on www.st.com`_ 91- `STM32H7A3/7B3/7B0 reference manual`_ 92- `STM32H7B3xI datasheet`_ 93 94Supported Features 95================== 96 97.. zephyr:board-supported-hw:: 98 99Pin Mapping 100=========== 101 102STM32H7B3I Discovery kit has 11 GPIO controllers. These controllers are responsible for pin muxing, 103input/output, pull-up, etc. 104 105For more details please refer to `STM32H7B3I-DK board User Manual`_. 106 107Default Zephyr Peripheral Mapping: 108---------------------------------- 109 110The STM32H7B3I Discovery kit features an Arduino Uno V3 connector. Board is 111configured as follows 112 113- UART_1 TX/RX : PA9/PA10 (ST-Link Virtual Port Com) 114- UART_4 TX/RX : PH13/PH14 (Arduino Serial) 115- I2C4 SCL/SDA : PD12/PD13 (Arduino I2C, Touchscreen FT5336 with PH2 Interrupt Pin) 116- SPI2 SCK/MISO/MOSI/NSS : PA12/PB14/PB15/PI0 (Arduino SPI) 117- LD1 : PG11 118- LD2 : PG2 119- USER_PB : PC13 120- SDMMC D0/D1/D2/D3/CK/CMD/CD : PC8/PC9/PC10/PC11/PC12/PD2/PI8 121- CANFD RX/TX/WAKE [#]_ : PA11/PA12/PH8 122- FMC SDRAM : 123 124 - D0-D15 : PD14/PD15/PD0/PD1/PE7/PE8/PE9/PE10/PE11/PE12/PE13/PE14/PE15/PD8/PD9/PD10 125 - A0-A11 : PF0/PF1/PF2/PF3/PF4/PF5/PF12/PF13/PF14/PF15/PG0/PG1 126 - A14/A15 : PG4/PG5 127 - SDNRAS/SDNCAS : PF11/PG15 128 - NBL0/NBL1 : PE0/PE1 129 - SDCLK/SDNWE/SDCKE1/SDNE1 : PG8/PH5/PH7/PH6 130 131- LTDC : 132 133 - R0-R7 : PI15/PJ0/PJ1/PJ2/PJ3/PJ4/PJ5/PJ6 134 - G0-G7 : PJ7/PJ8/PJ9/PJ10/PJ11/PK0/PK1/PK2 135 - B0-B7 : PJ12/PJ13/PJ14/PJ15/PK3/PK4/PK5/PK6 136 - DE/CLK/HSYNC/VSYNC : PK7/PI14/PI12/PI13 137 138 139System Clock 140============ 141 142The STM32H7B3I System Clock can be driven by an internal or external oscillator, 143as well as by the main PLL clock. By default, the System clock is driven 144by the PLL clock at 280MHz. PLL clock is fed by a 24MHz high speed external clock. 145 146Serial Port 147=========== 148 149The STM32H7B3I Discovery kit has up to 10 UARTs. The Zephyr console output is assigned 150to UART1 which is connected to the onboard STLINK-V3E. Virtual COM port interface 151default communication settings are 115200 8N1. 152 153 154Programming and Debugging 155************************* 156 157.. zephyr:board-supported-runners:: 158 159STM32H7B3I Discovery kit includes an STLINK-V3E embedded debug tool interface. 160 161Applications for the ``stm32h7b3i_dk`` board configuration can be built and 162flashed in the usual way (see :ref:`build_an_application` and 163:ref:`application_run` for more details). 164 165Flashing 166======== 167 168The board is configured to be flashed using west `STM32CubeProgrammer`_ runner, 169so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required. 170 171Alternatively, OpenOCD or JLink can also be used to flash the board using 172the ``--runner`` (or ``-r``) option: 173 174.. code-block:: console 175 176 $ west flash --runner openocd 177 $ west flash --runner jlink 178 179Flashing may depend on the SoC option bytes configuration, which can be checked and 180updated using `STM32CubeProgrammer`_. 181 182Flashing an application to STM32H7B3I 183------------------------------------- 184 185First, connect the STM32H7B3I Discovery kit to your host computer using 186the USB port to prepare it for flashing. Then build and flash your application. 187 188Here is an example for the :zephyr:code-sample:`hello_world` application. 189 190.. zephyr-app-commands:: 191 :zephyr-app: samples/hello_world 192 :board: stm32h7b3i_dk 193 :goals: build flash 194 195Run a serial host program to connect with your board: 196 197.. code-block:: console 198 199 $ minicom -D /dev/ttyACM0 200 201You should see the following message on the console: 202 203.. code-block:: console 204 205 Hello World! arm 206 207Debugging 208========= 209 210You can debug an application in the usual way. Here is an example for the 211:zephyr:code-sample:`hello_world` application. 212 213.. zephyr-app-commands:: 214 :zephyr-app: samples/hello_world 215 :board: stm32h7b3i_dk 216 :goals: debug 217 218 219.. _STM32H7B3I-DK website: 220 https://www.st.com/en/evaluation-tools/stm32h7b3i-dk.html 221 222.. _STM32H7B3I-DK board User Manual: 223 https://www.st.com/resource/en/user_manual/um2569-discovery-kit-with-stm32h7b3li-mcu-stmicroelectronics.pdf 224 225.. _STM32H7A3/7B3 on www.st.com: 226 https://www.st.com/en/microcontrollers-microprocessors/stm32h7a3-7b3.html 227 228.. _STM32H7A3/7B3/7B0 reference manual: 229 https://www.st.com/resource/en/reference_manual/rm0455-stm32h7a37b3-and-stm32h7b0-value-line-advanced-armbased-32bit-mcus-stmicroelectronics.pdf 230 231.. _STM32H7B3xI datasheet: 232 https://www.st.com/resource/en/datasheet/stm32h7b3ai.pdf 233 234.. _STM32CubeProgrammer: 235 https://www.st.com/en/development-tools/stm32cubeprog.html 236 237.. _STM32H7B3I_DK board schematics: 238 https://www.st.com/resource/en/schematic_pack/mb1332-h7b3i-c02_schematic.pdf 239 240.. [#] To use CAN, solder bridges SB3, SB4 and SB5 need to be connected. 241 Take note that CANFD pins are shared with STMOD+ connector (P1), so please check 242 `STM32H7B3I_DK board schematics`_ for possible collisions if using that connector. 243