Interrupt Controller (INTC)
MPC5566 Microcontroller Reference Manual, Rev. 2
Freescale Semiconductor 10-3
Figure 10-2. INTC Software Vector Mode
Two modes are available to determine the vector for the interrupt request source: software vector mode
and hardware vector mode. In software vector mode, as shown in Figure 10-2, the e200z6 branches to a
common interrupt exception handler whose location is determined by an address derived from special
purpose registers IVPR and IVOR4. The interrupt exception handler reads the INTC_IACKR to determine
the vector of the interrupt request source. Typical program flow for software vector mode is shown in
Figure 10-3.
Figure 10-3. Program Flow–Software Vector Mode
N is the largest vector number (329) with the greatest hexadecimal address (IVPR + 0x1480) that is
available in the interrupt memory map for this device. However, this number has no relationship to the total
number of interrupts available on this device.
The total number of available interrupts on this device is 332: 298 peripheral IRQs, eight
software-configurable IRQs, and 16 reserved.
Because the memory is mapped in four-byte words, the total number of interrupt vectors must be a multiple
of four:
• If the total number of available interrupts is not a multiple of four, additional interrupt vectors exist
up to the next four-byte boundary.
IRQs
Interrupt
controller
(INTC)
External interrupt
exception request
e200z6
core
ISRISR 0 address ISR 0
ISRISR 1
•
•
•
ISR
ISR n
•
•
•
ISR
ISR N
ISR n address
ISR N address
ISR 1 address
•
•
•
•
•
•
Prolog
(Including
using IACKR
to get vector
then bl ISR_n
Epilog
IVPR + IVOR4
IRQ[n]
taken
IACKR
InstructionsAddressInstructionsAddress
VTBA