2022-10-14 04:53 AM
Hello,
I am facing a weird issue with accessing STM ROM bootloader for flashing.
Hardware Used: STM32H745-DISCO
IDE: Keil
I have created a simple bootloader which jumps to ROM Bootloader at startup.
startup_stm32h745xx.s:
; Reset handler
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
;Then check if we need to jump to ST Boot loader
LDR R1, =0xE000ED00 ; SCB
LDR R0, =0x1FF09800 ; ROM BASE
STR R0, [R1, #8] ; VTOR
LDR SP,[R0, #0] ; ROM Stack Pointer
LDR R0,[R0, #4] ; ROM Program Counter
BX R0
When I power cycle and try to connect via STM32 CubeProgrammer, I get below error:
But when I press Reset button on STM32H745-DISCO, then connection is succesful without any issue
I am wondering what's the difference between pressing reset button and power cycle.
Any advice on how I can fix the issue.
2022-10-14 05:38 AM
You get one shot out of reset, any noise on any of the watched pins will be taken as a connection attempt. Probably more pins moving as it powers up.
2022-10-20 03:54 AM
The STM ROM bootloader present is V9.0 and seems there is a know bug with it
"– Additional reset needed after power off/on to enable connection to the BL interfaces"
Is there any workaround for this?
2022-10-20 06:14 AM
>>Is there any workaround for this?
Field programming, probably don't use the system's boot loader, but rather your own, using some protocol supported by standard/common tools?