relocate interrupt vector table in MCUXpresso not working

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

relocate interrupt vector table in MCUXpresso not working

2,126件の閲覧回数
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 返信

1,844件の閲覧回数
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