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 97The current Zephyr stm32h7b3i_dk board configuration supports the following hardware features: 98 99+-----------+------------+-------------------------------------+ 100| Interface | Controller | Driver/Component | 101+===========+============+=====================================+ 102| NVIC | on-chip | nested vector interrupt controller | 103+-----------+------------+-------------------------------------+ 104| UART | on-chip | serial port-polling; | 105| | | serial port-interrupt | 106+-----------+------------+-------------------------------------+ 107| PINMUX | on-chip | pinmux | 108+-----------+------------+-------------------------------------+ 109| GPIO | on-chip | gpio | 110+-----------+------------+-------------------------------------+ 111| I2C | on-chip | i2c | 112+-----------+------------+-------------------------------------+ 113| SDMMC | on-chip | disk access | 114+-----------+------------+-------------------------------------+ 115| SPI | on-chip | spi | 116+-----------+------------+-------------------------------------+ 117| OSPI NOR | on-chip | off-chip flash | 118+-----------+------------+-------------------------------------+ 119| FLASH | on-chip | flash memory | 120+-----------+------------+-------------------------------------+ 121| FMC | on-chip | memc (SDRAM) | 122+-----------+------------+-------------------------------------+ 123| LTDC | on-chip | display | 124+-----------+------------+-------------------------------------+ 125| CANFD | on-chip | can | 126+-----------+------------+-------------------------------------+ 127 128 129Other hardware features have not been enabled yet for this board. 130 131The default configuration can be found in the defconfig file: 132:zephyr_file:`boards/st/stm32h7b3i_dk/stm32h7b3i_dk_defconfig` 133 134Pin Mapping 135=========== 136 137STM32H7B3I Discovery kit has 11 GPIO controllers. These controllers are responsible for pin muxing, 138input/output, pull-up, etc. 139 140For more details please refer to `STM32H7B3I-DK board User Manual`_. 141 142Default Zephyr Peripheral Mapping: 143---------------------------------- 144 145The STM32H7B3I Discovery kit features an Arduino Uno V3 connector. Board is 146configured as follows 147 148- UART_1 TX/RX : PA9/PA10 (ST-Link Virtual Port Com) 149- UART_4 TX/RX : PH13/PH14 (Arduino Serial) 150- I2C4 SCL/SDA : PD12/PD13 (Arduino I2C, Touchscreen FT5336 with PH2 Interrupt Pin) 151- SPI2 SCK/MISO/MOSI/NSS : PA12/PB14/PB15/PI0 (Arduino SPI) 152- LD1 : PG11 153- LD2 : PG2 154- USER_PB : PC13 155- SDMMC D0/D1/D2/D3/CK/CMD/CD : PC8/PC9/PC10/PC11/PC12/PD2/PI8 156- CANFD RX/TX/WAKE [#]_ : PA11/PA12/PH8 157- FMC SDRAM : 158 159 - D0-D15 : PD14/PD15/PD0/PD1/PE7/PE8/PE9/PE10/PE11/PE12/PE13/PE14/PE15/PD8/PD9/PD10 160 - A0-A11 : PF0/PF1/PF2/PF3/PF4/PF5/PF12/PF13/PF14/PF15/PG0/PG1 161 - A14/A15 : PG4/PG5 162 - SDNRAS/SDNCAS : PF11/PG15 163 - NBL0/NBL1 : PE0/PE1 164 - SDCLK/SDNWE/SDCKE1/SDNE1 : PG8/PH5/PH7/PH6 165 166- LTDC : 167 168 - R0-R7 : PI15/PJ0/PJ1/PJ2/PJ3/PJ4/PJ5/PJ6 169 - G0-G7 : PJ7/PJ8/PJ9/PJ10/PJ11/PK0/PK1/PK2 170 - B0-B7 : PJ12/PJ13/PJ14/PJ15/PK3/PK4/PK5/PK6 171 - DE/CLK/HSYNC/VSYNC : PK7/PI14/PI12/PI13 172 173 174System Clock 175============ 176 177The STM32H7B3I System Clock can be driven by an internal or external oscillator, 178as well as by the main PLL clock. By default, the System clock is driven 179by the PLL clock at 280MHz. PLL clock is fed by a 24MHz high speed external clock. 180 181Serial Port 182=========== 183 184The STM32H7B3I Discovery kit has up to 10 UARTs. The Zephyr console output is assigned 185to UART1 which is connected to the onboard STLINK-V3E. Virtual COM port interface 186default communication settings are 115200 8N1. 187 188 189Programming and Debugging 190************************* 191 192STM32H7B3I Discovery kit includes an STLINK-V3E embedded debug tool interface. 193 194Applications for the ``stm32h7b3i_dk`` board configuration can be built and 195flashed in the usual way (see :ref:`build_an_application` and 196:ref:`application_run` for more details). 197 198Flashing 199======== 200 201The board is configured to be flashed using west `STM32CubeProgrammer`_ runner, 202so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required. 203 204Alternatively, OpenOCD or JLink can also be used to flash the board using 205the ``--runner`` (or ``-r``) option: 206 207.. code-block:: console 208 209 $ west flash --runner openocd 210 $ west flash --runner jlink 211 212Flashing may depend on the SoC option bytes configuration, which can be checked and 213updated using `STM32CubeProgrammer`_. 214 215Flashing an application to STM32H7B3I 216------------------------------------- 217 218First, connect the STM32H7B3I Discovery kit to your host computer using 219the USB port to prepare it for flashing. Then build and flash your application. 220 221Here is an example for the :zephyr:code-sample:`hello_world` application. 222 223.. zephyr-app-commands:: 224 :zephyr-app: samples/hello_world 225 :board: stm32h7b3i_dk 226 :goals: build flash 227 228Run a serial host program to connect with your board: 229 230.. code-block:: console 231 232 $ minicom -D /dev/ttyACM0 233 234You should see the following message on the console: 235 236.. code-block:: console 237 238 Hello World! arm 239 240Debugging 241========= 242 243You can debug an application in the usual way. Here is an example for the 244:zephyr:code-sample:`hello_world` application. 245 246.. zephyr-app-commands:: 247 :zephyr-app: samples/hello_world 248 :board: stm32h7b3i_dk 249 :goals: debug 250 251 252.. _STM32H7B3I-DK website: 253 https://www.st.com/en/evaluation-tools/stm32h7b3i-dk.html 254 255.. _STM32H7B3I-DK board User Manual: 256 https://www.st.com/resource/en/user_manual/um2569-discovery-kit-with-stm32h7b3li-mcu-stmicroelectronics.pdf 257 258.. _STM32H7A3/7B3 on www.st.com: 259 https://www.st.com/en/microcontrollers-microprocessors/stm32h7a3-7b3.html 260 261.. _STM32H7A3/7B3/7B0 reference manual: 262 https://www.st.com/resource/en/reference_manual/rm0455-stm32h7a37b3-and-stm32h7b0-value-line-advanced-armbased-32bit-mcus-stmicroelectronics.pdf 263 264.. _STM32H7B3xI datasheet: 265 https://www.st.com/resource/en/datasheet/stm32h7b3ai.pdf 266 267.. _STM32CubeProgrammer: 268 https://www.st.com/en/development-tools/stm32cubeprog.html 269 270.. _STM32H7B3I_DK board schematics: 271 https://www.st.com/resource/en/schematic_pack/mb1332-h7b3i-c02_schematic.pdf 272 273.. [#] To use CAN, solder bridges SB3, SB4 and SB5 need to be connected. 274 Take note that CANFD pins are shared with STMOD+ connector (P1), so please check 275 `STM32H7B3I_DK board schematics`_ for possible collisions if using that connector. 276