This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Problem while relocating a code with uvision

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

Parents Reply Children
  • The write buffers really aren't deep enough for that to be a real issue, and in the cached case __DSB doesn't even flush the cache to memory. So a complete bust there.

    The enabling and disabling the interrupts also seems overly dramatic too, the VTOR doesn't have some metastable state, it's either the vector table that was working fine up until you changed it, or its the new one.