====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]] */