2026-02-28 6:14 PM - last edited on 2026-03-02 12:50 PM by mƎALLEm
After more debugging, the jump function works correctly (PC reaches 0x080208xx, SP and RST are valid), but the app never sends any UART message after jump — even with SystemClock_Config() completely commented out and only HAL_Init() + MX_UART_Init() remaining. The bootloader resets the clock to HSI before jumping. SCB->VTOR is set in SystemInit(). Linker is at 0x08020000. The app works perfectly when flashed directly at 0x08000000 via ST-Link. Something is killing the app immediately after the bootloader jumps but we can't figure out what — any ideas?
this is the project :
https://github.com/said-sketch/Flashing-by-UART---STM32-Bootloader/tree/main
Solved! Go to Solution.
2026-03-01 1:39 PM
If PC is at 0x080208xx, user code is being executed. If it's not doing what you want, there's likely a bug in the code, either the bootloader or the user code.
General jump to X code is here:
How to jump to system bootloader from application ... - STMicroelectronics Community
Yours looks considerably different. You will need to reenable interrupts, among other things.
2026-03-01 1:39 PM
If PC is at 0x080208xx, user code is being executed. If it's not doing what you want, there's likely a bug in the code, either the bootloader or the user code.
General jump to X code is here:
How to jump to system bootloader from application ... - STMicroelectronics Community
Yours looks considerably different. You will need to reenable interrupts, among other things.
2026-03-02 12:16 PM
thanks bro i really i fix it