STM32 H745 discovery

Demo app

Architecture

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

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

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.

Resources

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies