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