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

Cortex-M0: How to switch from one program to another

Hi,

In my Cortex-M0 project, there are two program images residing at different memory locations: 0x0000_0000 and 0x0010_0000.  Each program has its own vector table.  M0 will boot from the program at 0x0010_0000 then switch to the other program (0x0000_0000) at the end.

What is the correct way to switch to the porgram at 0x0000_0000?  I'm not sure whether the following instructions are correct or not.

     LDR     R6, =0x1                             ; set R6 to 0x0000_0001 due to Thumb mode

     LDR     R0, [R6]

     MOV     SP, R0

     LDR     R1, [R6, #4]

     BX      R1

Can someone please point me the right implementation?  Thanks a lot.

Parents
  • Hey Jens,

    I am trying to write a bootloader for cortex M0 processor and I am interested to follow the #3 route you mention in your previous comment. Could you please send me some guidelines or sample documents on linker script and vector jump code, if possible. Thanks!

    Regards,

    Sharif

Reply
  • Hey Jens,

    I am trying to write a bootloader for cortex M0 processor and I am interested to follow the #3 route you mention in your previous comment. Could you please send me some guidelines or sample documents on linker script and vector jump code, if possible. Thanks!

    Regards,

    Sharif

Children
No data