Table of Contents
STM32 H745 discovery
The STM32H745I discovery kit contains a dual core STM32H745XIH6 processor with various internal and external peripherals.
External peripherals include the following
4.3" touchscreen Audio codec Microphone SDRAM EMMC FLASH
The user manual explains that the SMPS must be enabled in firmware otherwise there will be no connection to the device over ST-LINK.
Board layout
Top view
MICROPHONE POWER USB USB
LINE OUT/IN HEADER STLINK POWER
--------------------------------------
JTAG | |
| 4.3" 480x272 WQVGA TOUCHSCREEN | LEDS
STMOD | |
-------------------------------------|
USER RESET ETHERNET
BUTTON BUTTON
The STMOD interface supports MikorBUS, ESP-01 and GROVE I2C/UART.
Memory layout
The default linker scripts for FLASH define the following
CM7
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K
CM4
FLASH (rx) : ORIGIN = 0x08100000, LENGTH = 1024K RAM (xrw) : ORIGIN = 0x10000000, LENGTH = 288K
RAM
| Address | Type | Size | Alias |
|---|---|---|---|
| 0x00000000 .. 0x0000FFFF | ITCM (CM7) | 64KB | |
| 0x20000000 .. 0x2001FFFF | DTCM (CM7) | 128KB | |
| 0x24000000 .. 0x2407FFFF | AXI SRAM | 512KB | |
| 0x30000000 .. 0x3001FFFF | SRAM1 | 128KB | 0x10000000 .. 0x1001FFFF |
| 0x30020000 .. 0x3003FFFF | SRAM2 | 128KB | 0x10020000 .. 0x1003FFFF |
| 0x30040000 .. 0x30047FFF | SRAM3 | 32KB | 0x10040000 .. 0x10047FFF |
| 0x38000000 .. 0x3800FFFF | SRAM4 | 64KB | |
| 0x38800000 .. 0x38800FFF | BACKUP SRAM | 4KB |
Pinout
LED PI13 LD6 RED LED2 PJ2 LD7 GREEN LED1 PD3 LD8 GREEN BUTTON PC13 B1 RESET B2 LCD PANEL PK7 RK043FN48H-CT672B ENABLE LCD BACKLIGHT PK0 STLD40D ENABLE ST-LINK VCP PB10 USART3_TX VCP_TX PB11 USART3_RX VCP_RX X1 25 MHz OSC MODULE OSC_IN X2 NX3215SA-32.768K OSC32_IN OSC32_OUT
OpenOCD
/mnt/c/Apps/OpenOCD-20230712-0.12.0/bin/openocd.exe -f "interface/stlink.cfg" -c "transport select hla_swd" -f "target/stm32h7x.cfg"
Open On-Chip Debugger 0.12.0 (2023-07-12) [https://github.com/sysprogs/openocd]
Licensed under GNU GPL v2
libusb1 09e75e98b4d9ea7909e8837b7a3f00dda4589dc3
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
hla_swd
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : clock speed 1800 kHz
Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED
Info : STLINK V3J13M4 (API v3) VID:PID 0483:3754
Info : Target voltage: 3.265339
Info : [stm32h7x.cpu0] Cortex-M7 r1p1 processor detected
Info : [stm32h7x.cpu0] target has 8 breakpoints, 4 watchpoints
Info : starting gdb server for stm32h7x.cpu0 on 3333
Info : Listening on port 3333 for gdb connections
Factory reset
https://www.st.com/resource/en/compiled_demos/stm32h745i-disco_demo.zip
c:\Apps\STM32\STM32H745I-DISCO_demo\Binary>program_hexfile.bat
=================================================
Erase and Flash all memories and reboot the board
=================================================
-------------------------------------------------------------------
STM32CubeProgrammer v2.17.0
-------------------------------------------------------------------
ST-LINK SN : 003700333532510931333430
ST-LINK FW : V3J15M7
Board : STM32H745I-DISCO
Voltage : 3.26V
SWD freq : 8000 KHz
Connect mode: Under Reset
Reset mode : Hardware reset
Device ID : 0x450
Revision ID : Rev V
Device name : STM32H7xx
Flash size : 2 MBytes
Device type : MCU
Device CPU : Cortex-M7/M4
BL Version : 0x91
Mass erase ...
Mass erase successfully achieved
Memory Programming ...
Opening and parsing file: STM32Cube_Demo-STM32H745I-DISCO-V1.0.0_FULL.hex
File : STM32Cube_Demo-STM32H745I-DISCO-V1.0.0_FULL.hex
Size : 5.00 MB
Address : 0x08000000
Erasing memory corresponding to segment 0:
Erasing memory corresponding to segment 1:
Erasing external memory sectors [0 23]
Download in Progress:
██████████████████████████████████████████████████ 100%
File download complete
Time elapsed during download operation: 00:00:24.042
Hard reset is performed
Board Support Packages
#! /bin/sh mkdir -p /opt/BSP && cd /opt/BSP git clone https://github.com/STMicroelectronics/stm32h745i-disco-bsp git clone https://github.com/STMicroelectronics/stm32-bsp-common git clone https://github.com/STMicroelectronics/stm32-ft5336 git clone https://github.com/STMicroelectronics/stm32-mt25tl01g git clone https://github.com/STMicroelectronics/stm32-mt48lc4m32b2 git clone https://github.com/STMicroelectronics/stm32-rk043fn48h git clone https://github.com/STMicroelectronics/stm32-wm8994
FreeRTOS Demo
My ewp.py application converts ST IAR projects to work with GNU open source tools.
See here to find instructions on how to build the FreeRTOS demo for the STM32H745.



