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 157STM32H7B3I Discovery kit includes an STLINK-V3E embedded debug tool interface. 158 159Applications for the ``stm32h7b3i_dk`` board configuration can be built and 160flashed in the usual way (see :ref:`build_an_application` and 161:ref:`application_run` for more details). 162 163Flashing 164======== 165 166The board is configured to be flashed using west `STM32CubeProgrammer`_ runner, 167so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required. 168 169Alternatively, OpenOCD or JLink can also be used to flash the board using 170the ``--runner`` (or ``-r``) option: 171 172.. code-block:: console 173 174 $ west flash --runner openocd 175 $ west flash --runner jlink 176 177Flashing may depend on the SoC option bytes configuration, which can be checked and 178updated using `STM32CubeProgrammer`_. 179 180Flashing an application to STM32H7B3I 181------------------------------------- 182 183First, connect the STM32H7B3I Discovery kit to your host computer using 184the USB port to prepare it for flashing. Then build and flash your application. 185 186Here is an example for the :zephyr:code-sample:`hello_world` application. 187 188.. zephyr-app-commands:: 189 :zephyr-app: samples/hello_world 190 :board: stm32h7b3i_dk 191 :goals: build flash 192 193Run a serial host program to connect with your board: 194 195.. code-block:: console 196 197 $ minicom -D /dev/ttyACM0 198 199You should see the following message on the console: 200 201.. code-block:: console 202 203 Hello World! arm 204 205Debugging 206========= 207 208You can debug an application in the usual way. Here is an example for the 209:zephyr:code-sample:`hello_world` application. 210 211.. zephyr-app-commands:: 212 :zephyr-app: samples/hello_world 213 :board: stm32h7b3i_dk 214 :goals: debug 215 216 217.. _STM32H7B3I-DK website: 218 https://www.st.com/en/evaluation-tools/stm32h7b3i-dk.html 219 220.. _STM32H7B3I-DK board User Manual: 221 https://www.st.com/resource/en/user_manual/um2569-discovery-kit-with-stm32h7b3li-mcu-stmicroelectronics.pdf 222 223.. _STM32H7A3/7B3 on www.st.com: 224 https://www.st.com/en/microcontrollers-microprocessors/stm32h7a3-7b3.html 225 226.. _STM32H7A3/7B3/7B0 reference manual: 227 https://www.st.com/resource/en/reference_manual/rm0455-stm32h7a37b3-and-stm32h7b0-value-line-advanced-armbased-32bit-mcus-stmicroelectronics.pdf 228 229.. _STM32H7B3xI datasheet: 230 https://www.st.com/resource/en/datasheet/stm32h7b3ai.pdf 231 232.. _STM32CubeProgrammer: 233 https://www.st.com/en/development-tools/stm32cubeprog.html 234 235.. _STM32H7B3I_DK board schematics: 236 https://www.st.com/resource/en/schematic_pack/mb1332-h7b3i-c02_schematic.pdf 237 238.. [#] To use CAN, solder bridges SB3, SB4 and SB5 need to be connected. 239 Take note that CANFD pins are shared with STMOD+ connector (P1), so please check 240 `STM32H7B3I_DK board schematics`_ for possible collisions if using that connector. 241