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

STM32: Loading programs to different flash locations

Hello,

Is there a way to load multiple programs at once from uVision onto a STM32?

I'd like to be able to have a bootloader program running that can jump into other programs that are already loaded into flash.

Ideally I would do this loading myself, but I've had trouble figuring out what exactly this requires. My idea was to turn on all the position independence options in the compiler/linker and then put the program wherever I wanted. However, I'm getting bogged down in figuring out exactly what it means to "put" a program somewhere. Do I need to parse the .hex and only load the sections that go in ROM? Can I put the program that goes in ROM anywhere as long as it's contiguous?

It seems like once the program is loaded you can just jump to the base + 4 and it will set itself up. But I'm having trouble finding good documentation about this.

If anyone has successfully created a bootloader and loaded applications into flash and then jumped to the loaded applications, I would be VERY interested in knowing how you accomplished this!

Thanks for any help you can provide.

-Jesse Tannahill