How to relocate vector table address in iMXRT 1170

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

How to relocate vector table address in iMXRT 1170

1,167 Views
Ankush_9881
Contributor II

Hello All,

I am working on the iMX RT 1170 EVK . I want to write the bootloader application and in that i want to change the vector table address. I am using MCU Expresso IDE. 

I have gone through community but I cannot find for iMX RT

Can any one help me with this ?

Thanks in Advance

0 Kudos
4 Replies

1,155 Views
Ankush_9881
Contributor II

Thank you for the instant reply.

I am facing issue like when application goes for the reset. PC jumps to bootloader vector table.

Can I hardcode the Vector Table address ?

Thanks in

0 Kudos

1,149 Views
Masmiseim
Senior Contributor I

Yes, you can place it everywhere, but consider the alignment of 0x100.

The vector-table is quite often placed in the internal RAM to take advantage of the higher performance. There are many examples for this, for example here: https://www.keil.com/pack/doc/CMSIS/Core/html/using_VTOR_pg.html

 

the simplest way without loading the Interrupt-table to the RAM would be:

  • Disable the major interrupt
  • Jumpt to the Application
  • Reassign the interrupt-vecor:
    SCB->VTOR = __Vectors;
  • Enable major interrupt

 

As the startup-code from MCUexprosso is already reassigning the SCB->VTOR register, you should be fine when you disable the major interrupt bevor jumping into the application.

 

 

0 Kudos

1,137 Views
Ankush_9881
Contributor II

Thank you very much for the solution. It works

0 Kudos

1,160 Views
Masmiseim
Senior Contributor I

You like to change the vector-table from Bootloader to the one of the application?

SCB->VTOR = ApplicationVectorTable;

0 Kudos