Hello,
I am developping a bootloader for a STM32F407 using Keil uvision 5 as IDE. My bootloader shall start at the beginning of flash, (0x0800 0000), as in this microcontroller this is where the littlest sector is. As this is the default start address for Keil, I got no problem to flash and run it.
But when I try to re-compile and link application executable to start at sector 5 in flash (0x0802 0000), I get issues... Although the .map file generated by my linker shows that application code and vectors are relocated in 0x0802 0000, when I flash and start my target with my application, the reset is done at bootloader's reset vector... What did I do wrong?
Thanks a lot in advance.
Best regards
The loader has to transfer control to your app. You can't make the CPU reset to 0x08020000
You need to make sure SystemInit() in your app sets SCB->VTOR to point to your vector table for that to function.
You mean I can not launch a relocated application directly form JTAG debugger?
View all questions in Keil forum