relocate interrupt vector table in MCUXpresso not working

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

relocate interrupt vector table in MCUXpresso not working

1,406 Views
sanjabehera
Contributor I

Hello,

I am trying to flash two application in flash (nano bootloader and one application). Bootloader starts from 0x0 to 0x8000. and my application starts from 0x20000 to 0x40000. But i cant jump from bootloader to my application. I have change application IVT to 0x20000 (SCB->VTOR = 0x20000) and start memory location to 0x20000. while flashing both bootloader and application the jump is not working.

In my bootloader

SCB->VTOR = 0x00020000 & 0x1FFFFF80;

Anything i am doing wrong.

1 Reply

1,124 Views
2winkle
Contributor III

Hello Sanja Behera,

Before jumping to the application, you have to change to application IVT, load the stack pointer of the application code to the SP register and then call/jump to the ResetISR of the application code. The stack pointer value is available at the first location (0x20000 + 0x00) of the .bin image and address of ResetISR at (0x20000 + 0x04). So after loading the value, try to jump to the application space.

Also refer this thread for more detail and how to implement them...

Jumping to user application from custom bootloader