INT_
REQ0
INT_
REQ1
INT_
REQ2
INT_
REQ94
CHAN2
7
CHANMAP2[6:0]
INT_
REQ0
INT_
REQ1
INT_
REQ2
INT_
REQ94
CHAN94
7
CHANMAP94[6:0]
CHANNEL
MAPPING
95 Interrupt
Channels
NOTE
:
CHAN0 and CHAN1 are hard wired to
INT_REQ0 and INT_REQ1, can NOT
be remapped.
Interrupt Handling Inside VIM
516
SPNU503C – March 2018
Copyright © 2018, Texas Instruments Incorporated
Vectored Interrupt Manager (VIM) Module
15.3.1 VIM Interrupt Channel Mapping
The VIM support 96 interrupt channels (including phantom interrupt). A block diagram of the VIM interrupt
requests arrangement from peripheral modules to the interrupt channels, is provided in
. Each
interrupt channel(CHANx) has a corresponding mapping register bit field (CHANMAPx[6:0]). This mapping
register determines which interrupt channel it maps each VIM interrupt request. With this scheme, the
same request can be mapped to multiple channels. A lower numbered channel in each FIQ and IRQ has
higher priority. The programmability of the VIM allows software to control the interrupt priority.
Figure 15-3. VIM Channel Mapping
NOTE:
CHAN95
CHAN95 has no dedicated interrupt vector table entry. Therefore, CHAN95 shall NOT be
remapped to other INT_REQ (INT_REQ95 is reserved at device level).
In the reset state, the VIM maps all of the interrupt requests in the system to their respective interrupt
channels.
shows the default state following the reset.
shows the VIM INT2 is remapped to both Channel 2 and 4, and INT3 is mapped to channel 3.
NOTE:
By mapping INT2 to channel 2 and channel 4, and mapping INT3 to channel 3, it is possible
for the software to change the priority dynamically by changing the ENABLE register
(REQENASET and REQENACLR). When channel 2 is enabled, the priority is:
1.
INT0
2.
INT1
3.
INT2
4.
INT3
Disabling channel 2, the priority becomes:
1.
INT0
2.
INT1
3.
INT3
4.
INT2