STM32H745I-DISCO: Unable to Jump to Application Stored in External QSPI Flash
- September 15, 2026
- 1 reply
- 10 views
Hi,
I am using the STM32H745I-DISCO board and trying to boot an application from the external QSPI flash (MT25QL512ABB).
For this purpose, I created two separate projects:
-
Bootloader Project
-
Initializes the QSPI flash.
-
Configures the QSPI in Memory-Mapped mode.
-
Jumps to the application stored in the external QSPI flash.
-
-
Application Project
-
Modified the linker script (.ld file) to change the application start address from 0x08000000 to 0x90000000.
-
Added the following statements in CM7/Common/Src/system_stm32h7xx.c (around lines 295–296) inside SystemInit():
- As a basic test, the application code is only trying to blink the LED connected to GPIO Pin 13 after booting from the QSPI flash.
-
RCC->CFGR = 0; SCB->VTOR = QSPI_BASE;
After building the application, I generated the .bin file and programmed it into the QSPI flash using STM32CubeProgrammer.
When I read back the contents from address 0x90000000 using CubeProgrammer, I can see valid data programmed in the flash (screenshot attached).
However, while debugging the bootloader, I observed the following issues:
-
The code enters the HardFault_Handler() before executing JumpToApplication();.
-
The value of JumpToApplication is observed as 0x00000000 in the debugger.
-
As a result, the application is not started from the QSPI flash.
I have attached the bootloader project, application project, and screenshots for reference.
Could you please review the projects and help identify the issue? This is an urgent requirement, and your assistance would be greatly appreciated.
Thank you.

