MC9S12XDT512 Changing Interrupt Vector Table in ROM

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

MC9S12XDT512 Changing Interrupt Vector Table in ROM

1,568 Views
GS
Contributor I
I am implementing Boot loader in my application, which require to change Interrupt Vector Table located at 0x0000FF10 - 0x0000FFFE as requirement may get change in future. Please suggest me the way to do so.
Labels (1)
0 Kudos
1 Reply

526 Views
Steve
NXP Employee
NXP Employee
It isn't clear if you need to permanently change the vector table or only temporarily during the bootloader activity. The S12X allows the vector table to be placed anywhere in local memory using the IVBR register. At reset this places the vector at 0xFFxx but it can be changed to any other 256 byte boundary in the local 64k memory map. This means that the reset handlers must always be at the same locations in memory but they can change the vector table location for other interrupt sources.
If a temporary change is required then you could have the reset handler choose the bootloader vector table when required.
If the change must be permanent then you will have to erase and re-program the flash block that contains the vector table. This may require careful consideration if the application requires to be functional during this process.
0 Kudos