Phantom Vector
Channel 0 Vector
Channel 1 Vector
Channel 93 Vector
Channel 94 Vector
0xFFF8217C
0xFFF82178
0xFFF82008
0xFFF82004
0xFFF82000
Interrupt vector table address space
Interrupt Vector Table (VIM RAM)
519
SPNU503C – March 2018
Copyright © 2018, Texas Instruments Incorporated
Vectored Interrupt Manager (VIM) Module
After the VIM has generated the vector corresponding to the highest active IRQ, it updates the FIQINDEX
or the IRQINDEX register, depending on the class of interrupt. Then, it accesses the interrupt vector table
using the vector value to fetch the address of the corresponding ISR. If the request is an FIQ class
interrupt, the address read from the interrupt vector table, is written to the FIQVECREG register. If the
request is an IRQ class interrupt, the address is written to the IRQVECREG register and put on the VIC
port of the CPU (in case of hardware vectored interrupt is enabled).
All of the interrupt registers are updated when a new high priority interrupt line becomes active.
15.4 Interrupt Vector Table (VIM RAM)
Interrupt vector table stores the address of ISRs. During register vectored interrupt and hardware vectored
interrupt, VIM accesses the interrupt vector table using the vector value to fetch the address of the
corresponding ISR.
For safety reasons, the interrupt vector table has protection by parity to indicate corruption due to soft
errors. The parity scheme is implemented as a continuous background check based on memory access.
through
describe how parity works in the interrupt vector table.
NOTE:
Writes to the interrupt vector table parity flag register (PARFLG) and the interrupt vector
table parity control register (PARCTL) are in privilege mode only.
15.4.1 Interrupt Vector Table Operation
The interrupt vector table is organized in 96 words of 32 bits. 32-bit, 16-bit, and 8-bit accesses are
supported (when parity is disabled).
shows the interrupt memory mapping. The table base
address is FFF8 2000h.
Figure 15-7. VIM Interrupt Address Memory Map
NOTE:
The interrupt vector table only has 96 entries, one phantom vector and 95 interrupt channels.
Channel 95 does not have a dedicated vector and shall not be used.