====STM32 H745 discovery====
{{boards:coremark.jpg?200|Demo app}}
\\ \\
{{boards:stm32h745.jpg?200|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
The user manual explains that the SMPS must be enabled in
firmware otherwise there will 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 [[https://wiki.kewl.org/projects:ewp|ewp.py]] application converts ST IAR projects to
work with GNU open source tools.
See [[https://wiki.kewl.org/projects:ewp#stm32cubeh7_demo|here]] to find instructions on how to build the FreeRTOS demo
for the STM32H745.
===Resources===
[[https://www.st.com/en/evaluation-tools/stm32h745i-disco.html|Product page]]
[[https://www.st.com/resource/en/data_brief/stm32h745i-disco.pdf|Data brief]]
[[https://www.st.com/resource/en/user_manual/um2488-discovery-kits-with-stm32h745xi-and-stm32h750xb-mcus-stmicroelectronics.pdf|User manual]]
[[https://www.st.com/resource/en/user_manual/um2695-stmod-fanout-expansion-board-for-stm32-discovery-kits-and-evaluation-boards-stmicroelectronics.pdf|STMOD break-out board manual]]
[[https://www.st.com/resource/en/schematic_pack/mb1381-h745xi-b02-schematic.pdf|Schematic]]
[[https://www.st.com/en/microcontrollers-microprocessors/stm32h745xi.html|MCU product page]]
[[https://www.st.com/resource/en/datasheet/stm32h745xi.pdf|MCU data-sheet]]
[[https://www.st.com/resource/en/reference_manual/rm0399-stm32h745755-and-stm32h747757-advanced-armbased-32bit-mcus-stmicroelectronics.pdf|MCU reference manual]]
[[https://www.st.com/resource/en/application_note/dm00306681-stm32h72x-stm32h73x-and-singlecore-stm32h74x75x-system-architecture-and-performance-stmicroelectronics.pdf|MCU architecture]]
[[https://www.st.com/resource/en/application_note/dm00733995-stm32h745755-and-stm32h747757-lines-dualcore-architecture-stmicroelectronics.pdf|MCU dual core architecture]]
[[https://github.com/STMicroelectronics/STM32CubeH7|ST demos]]
/*
[[https://www.freertos.org/STM32H7_Dual_Core_AMP_RTOS_demo.html|FreeRTOS dual core demo]]
[[https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS/Demo/CORTEX_M7_M4_AMP_STM32H745I_Discovery_IAR|FreeRTOS dual core demo on github]]
*/