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

Code Relocation - Revisited

I'm looking for some ideas (or solution) to the following problem :-

1. I using an STM32F207VG and I want to operate from 2 x separate code executables. An "old" version, and the "new" uploaded version.
2. Loading a binary executable to the upper-half of the FLASH (0x0808 0000) from an old dongle is easy. That's not the problem.
3. The problem lies in "reseting" to start execution from 0x0808 0004 (and not from 0x0800 0004).
4. I really don't see a way around this other than to copy the "new" executable code over the default FLASH boot space (0x0800 0000).
5. I've searched the Cortex-M3 manual and there is no register whereby you can change the default reset vector (i.e. from 0x0800 0000) to another value. Unless it's hidden.
6. Using a FLASH based "system memory bootloader" IAR is not an option.
7. That should make some sort of sense, if not, then I haven't explained it very well.

All positive comments and ideas are most welcome.

0