This is an old revision of the document!
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
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
FreeRTOS Demo
My ewp.py project converts ST IAR projects to work with GNU open source tools.
See here to find instructions on how to build the FreeRTOS demo.