2025-12-18 1:43 AM - last edited on 2025-12-31 7:24 AM by Andrew Neil
I’m working on a custom PCB based on STM32H757BIT6, conceptually similar to the STM32H747I-EVAL board. The original EVAL board uses a Micron MT25TL01G (dual-die) QSPI flash on BK1_CS (PG6). On my board, the flash is replaced with MT25QL01G (single-die) and connected to BK2_NCS (PC11).
I need to know what changes are required in the BSP and external loader (.stldr) to make them work with this new flash and cs pin changes.
DeviceStartAddress = 0x90000000 DeviceSize = 0x08000000
While code flashing the loader starts to erase the QSPI flash memory before writing the gui data on it. Below is the error message -
STMicroelectronics ST-LINK GDB server. Version 7.12.0
Copyright (c) 2025, STMicroelectronics. All rights reserved.
STM32CubeProgrammer v2.18.0 | Windows-64Bits
ST-LINK SN : 30091411A418303030303032
ST-LINK FW : V2J46S7
Board : --
Voltage : 3.16V
SWD freq : 4000 KHz
Connect mode: Under Reset
Reset mode : Hardware reset
Device ID : 0x450
Revision ID : Rev V
Device name : STM32H7xx
Flash size : 2 MBytes
Device CPU : Cortex-M7/M4
Memory Programming ...
File : <application>.srec
Size : 2.21 MB
Address : 0x08000000
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 3]
Erasing memory corresponding to segment 1:
Erasing external memory sectors [0 14]
Error: failed to erase memory
Error: failed to erase memory
Error in STM32CubeProgrammer
Shutting down...
Exit.
Original BSP/loader assumes:
My board uses single-die MT25QL → possible mismatch can happen in erase/program logic.
I have attached the snapshot of eval kit QSPI design pinout vs our custom qspi design pinout and the zip of external qspi loader source code.
Any help or existing source code is highly appreciated at this point.
Thanks in advance,
Vijay.