Interrupts and Interrupt Controller (INTC)
10-6
Freescale Semiconductor
PXR40 Microcontroller Reference Manual, Rev. 1
interrupt request is acknowledged by reading the INTC_IACKR. The reading also pushes the PRI value
in the INTC current priority register (INTC_CPR) onto the LIFO and updates PRI in the INTC_CPR with
the priority of the interrupt request. The INTC_CPR masks any peripheral or software configurable
interrupt request at the same or lower priority of the current value of the PRI field in INTC_CPR from
generating an interrupt request to the processor.
The interrupt exception handler must write to the end-of-interrupt register (INTC_EOIR) to complete the
operation (assuming the source of the interrupt has been cleared). Writing to the INTC_EOIR ends the
servicing of the interrupt request. The INTC’s LIFO is popped into the INTC_CPR's PRI field by writing
to the INTC_EOIR, and the size of a write does not affect the operation of the write. Those values and sizes
written to this register neither update the INTC_EOIR contents nor affect whether the LIFO pops. For
possible future compatibility, write four bytes of all 0s to the INTC_EOIR. The timing relationship
between popping the LIFO and disabling recognition of external input has no restriction. The writes can
happen in either order.
However, disabling recognition of the external input before popping the LIFO eases the calculation of the
maximum stack depth at the cost of postponing the servicing of the next interrupt request.
10.1.4.2
Hardware Vector Mode
In hardware vector mode, the interrupt exception handler address is specific to the peripheral or software
configurable interrupt source rather than being common to all of them. No IVOR is used. The interrupt
exception handler address is calculated by hardware as shown in
. The upper half of the
interrupt vector prefix register (IVPR) is added to an offset which corresponds to the peripheral or software
interrupt source which caused the interrupt request. The offset matches the value in the Interrupt Vector
field, INTC_IACKR[INTVEC]. Each interrupt exception handler address is aligned on a four-word
(16-byte) boundary. IVOR4 is not used in this mode, and software does not need to read INTC_IACKR to
get the interrupt vector number.
Figure 10-6. Hardware Vector Mode: Interrupt Exception Handler Address Calculation
The processor negates INTC’s interrupt request when automatically acknowledging the interrupt request.
However, the interrupt request to the processor do not negate if a higher priority interrupt request arrives.
Even in this case, the interrupt vector number does not update to the higher priority request until the lower
priority request is acknowledged by the processor.
31
16
15
0
IVPR
31
28
27
16
15
0
0
+ Hardware vector
15
0
0b0000
INTC_IACKR[INTVEC]
PREFIX
0x0000
PREFIX
18
0b000
19
0x0000
31
28
27
16
0b0000
IRQ SPECIFIC OFFSET
18
0b000
19
16
= Interrupt exception
handler address
mode offset
Summary of Contents for PXR4030
Page 1: ...PXR40 Microcontroller Reference Manual Devices Supported PXR4030 PXR4040 PXR40RM Rev 1 06 2011...
Page 30: ...PXR40 Microcontroller Reference Manual Rev 1 Freescale Semiconductor xxx...
Page 40: ...PXR40 Microcontroller Reference Manual Rev 1 xl Freescale Semiconductor...
Page 66: ...Memory Map PXR40 Microcontroller Reference Manual Rev 1 2 4 Freescale Semiconductor...
Page 120: ...Signal Descriptions 3 54 Freescale Semiconductor PXR40 Microcontroller Reference Manual Rev 1...
Page 860: ...FlexCAN Module 24 50 Freescale Semiconductor PXR40 Microcontroller Reference Manual Rev 1...
Page 1167: ...Decimation Filter Freescale Semiconductor 28 53 PXR40 Microcontroller Reference Manual Rev 1...
Page 1168: ...Decimation Filter 28 54 Freescale Semiconductor PXR40 Microcontroller Reference Manual Rev 1...