DR
AFT
DR
AFT
DRAFT
DR
D
RAFT
DRAFT
DRA
FT DRAF
D
RAFT DRAFT DRAFT DRAFT DRAFT D
DRAFT
D
RAFT DRA
FT DRAFT DRAFT DRAFT DRA
UM10316_0
© NXP B.V. 2008. All rights reserved.
User manual
Rev. 00.06 — 17 December 2008
96 of 571
NXP Semiconductors
UM10316
Chapter 9: LPC29xx Vectored Interrupt Controller (VIC)
4.2 Interrupt vector register
The interrupt vector registers identify for each interrupt target the highest-priority enabled
pending interrupt request that is present at the time when the register is being read. The
software interrupt service routine must always read the vector register that corresponds to
the interrupt target. The interrupt vector content can be used as vector into a memory
based table like that shown in
. This table has 32 entries. To be able to use the
register content as a full 32-bit address pointer the table must be aligned to a 512-byte
address boundary (or 2048 to be future-proof). If only the index variable is used as offset
into the table then this address alignment is not required. Each table entry is 64 bits wide.
It is recommended to pack for each table entry:
•
The start address of a peripheral-specific interrupt service routine, plus
•
The associated priority-limiter value (if nesting of interrupt service routines is
performed)
A vector with index 0 indicates that no interrupt is pending with a priority above the priority
threshold. For this special-case entry the vector table should implement a ‘no-interrupt’
handler.
Table 85.
INT_PRIORITYMASK_n registers bit description (INT_PRIORITYMASK_0/1,
addresses 0xFFFF F000 and 0xFFFF F004)
Bit
Symbol
Access
Reset
value
Description
31 to 4
reserved
R
-
Reserved; do not modify. Read as logic
0
3 to 0
PRIORITY_LIMITER[3:0]
R/W
-
Priority limiter. This sets a priority
threshold that incoming interrupt
requests must exceed to trigger
interrupt requests towards the controller
and power management controller