UM10208_2
© NXP B.V. 2007. All rights reserved.
User manual
Rev. 02 — 1 June 2007
123 of 362
NXP Semiconductors
UM10208
Chapter 9: LPC2800 Interrupt controller
5.4 Priority Mask Registers (INT_PRIOMASK0:1, 0x8030 0000 -
0x8030 0004)
5.5 Features Register (INT_FEATURES - 0x8030 0300)
This read-only register contains the parameters of the interrupt controller. While these are
fixed for the LPC288x, this information could be used by generalized software to deal with
the interrupt controller.
6.
Spurious interrupts
Spurious interrupts are possible in ARM7TDMI based microcontrollers such as the
LPC288x due to asynchronous interrupt handling. The asynchronous character of
interrupt processing has its roots in the interaction of the processor and the interrupt
controller. If the interrupt controller state is changed between the moments when the
processor detects an interrupt, and when the processor actually performs the interrupt,
problems may occur.
The following is a typical interrupt sequence:
1. The interrupt controller detects an enabled interrupt request, and asserts the IRQ
signal to the processor.
2. The processor latches the IRQ state.
Table 122. Priority Mask Registers (INT_PRIOMASK0:1, 0x8030 0000 - 0x8030 0004)
Bits
Name
Description
Reset
value
3:0
Priority Limit (INT_PRIOMASK0 applies to IRQ ISRs, INT_PRIOMASK1 to FIQ
ISRs.) This register defines the current interrupt priority, and allows
nested interrupt service. If an ISR is going to allow nested interrupts,
it should
1. read this register and save its value on the stack,
2. read the applicable INT_VECTOR register, and use the value read
to access the address of the specific ISR to be executed, and a value
to write to this register.
3. After writing this register, the ISR can re-enable processor
interrupts.
4. Near its end, the ISR should restore the value saved in step 1 to
this register.
0
7:4
These bits will always read as 0.
0
31:8 -
Reserved, user software should not write ones to reserved bits. The
value read from a reserved bit is not defined.
-
Table 123. Features Register (INT_FEATURES - 0x8030 0300)
Bits
Name
Description
Reset
value
7:0
Sources
The number of source inputs
0x1C
15:8
Priority
Levels
The highest Priority Level.
0x0F
21:16 Targets - 1 This value plus one indicates that the interrupt controller has two target
outputs (IRQ and FIQ).
0x01
31:22 -
Reserved. The value read from a reserved bit is not defined.
-