English
Language : 

PXN20RM Datasheet, PDF (273/1376 Pages) Freescale Semiconductor, Inc – PXN20 Microcontroller
Interrupts and Interrupt Controller (INTC)
IVPR
0
Vector base
+
IVOR4
0
0x0000_0040
=
Software Vector Mode Interrupt Exception Handler Address
0
Vector base
19 20
31
0x000
31
19 20
31
0x040
Figure 10-4. Z0 Software Vector Mode: Interrupt Exception Handler Address Calculation
IVPR
0
15 16
31
PREFIX
0x0000
+ IVOR4
0
0x0000
15 16
OFFSET
27 28
31
0x00
= Interrupt exception
handler address
0
PREFIX
15 16
OFFSET
27 28
31
0x00
Figure 10-5. Z6 Software Vector Mode: Interrupt Exception Handler Address Calculation
As shown in Figure 10-3, the common interrupt exception handler reads the INTC_IACKR_PRCn to
determine the vector of the interrupt request source. The INTC_IACKR_PRCn register contains a 32-bit
address for a vector table base address (VTBA) plus an offset to access the interrupt vector (INTVEC).
The address is then used to branch to the corresponding routine for that peripheral or software interrupt
source.
Reading the INTC_IACKR_PRCn acknowledges the INTC’s interrupt request and negates the interrupt
request to the processor. The interrupt request to the processor does not clear if a higher priority interrupt
request arrives. Even in this case, INTVEC does not update to the higher priority request until the lower
priority interrupt request is acknowledged by reading the INTC_IACKR_PRCn. The reading also pushes
the PRI value in the INTC current priority register (INTC_CPR_PRCn) onto the LIFO and updates PRI in
the INTC_CPR_PRCn with the priority of the interrupt request. The INTC_CPR_PRCn masks any
peripheral or software settable interrupt request at the same or lower priority of the current value of the
PRI field in INTC_CPR_PRCn from generating an interrupt request to the processor.
The interrupt exception handler must write to the end-of-interrupt register (INTC_EOIR_PRCn) to
complete the operation. Writing to the INTC_EOIR_PRCn ends the servicing of the interrupt request. The
INTC’s LIFO is popped into the INTC_CPR_PRCn’s PRI field by writing to the INTC_EOIR_PRCn, and
Freescale Semiconductor
PXN20 Microcontroller Reference Manual, Rev. 1
10-5