Interrupt Controller
MCF5272 ColdFire Integrated Microprocessor User’s Manual, Rev. 3
Freescale Semiconductor
7-9
7.2.6
Programmable Interrupt Vector Register (PIVR)
The programmable interrupt vector register (PIVR),
Figure 7-9, specifies the vector numbers the interrupt
controller returns in response to interrupt acknowledge cycles for the various peripherals and discrete
interrupt sources.
Pending interrupts are presented to the processor core in order of priority from highest to lowest. The core
responds to an interrupt request by initiating an interrupt acknowledge cycle to receive a vector number,
which allows the core to locate the interrupt’s service routine. The interrupt controller is able to identify
the source of the highest priority interrupt that is being acknowledged and provide the interrupt vector to
the core. The three most significant bits of the interrupt vector are programmed by the user in the PIVR.
The lower five bits are provided by the interrupt controller, depending on the source, as shown in
If the core initiates an interrupt acknowledge cycle prior to the PIVR being programmed, the interrupt
controller returns the uninitialized interrupt vector (0x0F). If the core initiates an interrupt acknowledge
cycle after the PIVR has been initialized, but there is no interrupt pending, the interrupt controller returns
the user a spurious interrupt vector (0xxxx0_0000). Because the interrupt controller responds to all
interrupt acknowledges, a bus error situation cannot occur during an interrupt-acknowledge cycle.
Figure 7-9. Programmable Interrupt Vector Register (PIVR)
75
4
0
Field
IV
—
Reset
0000_1111
R/W
Address
MBAR + 0x03F
Table 7-7. PIVR Field Descriptions
Bits
Field
Description
7-5
IV
These bits provide the high three bits of the interrupt vector for interrupt acknowledge cycles from all sources.
To conform to the core interrupt vector allocation, these bits should be set equal to or greater than 010. See
4-0
—
Reserved, should be cleared.