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
108 of 571
NXP Semiconductors
UM10316
Chapter 10: LPC29xx general system control
6.1.6 Interrupt set-status register
Write ‘1’ actions to this register set one or more STATUS variables in the INT_STATUS
register. This register is write-only and is intended for debug purposes. Writing a ‘0’ has no
effect.
7.
ISR functional description
The LPC29xx includes several peripherals, some of these influence each other during
normal operation: for example the behaviors of the VIC and the Event Router. In most
cases interrupt handling is controlled by some kind of OS, so the VIC and event-router
functionality is divided into two components, ISR and ESR (
). The ISR
component can be used in situations where no OS is present or the OS does not support
this functionality.
The ISR component also makes possible recursive calls to tmISR_EnableInterrupts and
tmISR_DisableInterrupts. In this way atomic actions can be created, and can call other
functions that contain atomic actions. Enabling or disabling the interrupts is dealt with
automatically. A general rule is to keep atomic actions as small as possible.
8.
Event-service routine (ESR) - Event handling
8.1 ESR functional description
This driver converts generated events to interrupt signals that are asserted in the VIC. It
does not cover wake-up and power functions since these are handled by the CGU.
External interrupts are routed via the Event Router. When one of these signals is asserted
the Event Router generates an interrupt on the VIC. The VIC then asserts the ARM core.
Handling of the VIC is done by the OS or by the ISR driver (see
). Before the
ESR driver is used the interrupt-handling software must be initialized. This is done by the
OS or by the ISR driver.
The Event Router reacts to certain events when they are enabled. If an enabled event is
asserted, the Event Router signals the VIC. This leads to execution of a special interrupt
function: tmESR_EventDispatcher. This function checks the event-router status and
executes the ESR of the active event source.
Usage of the ESR driver consists of several steps:
•
Initialization of the driver:
Table 97.
INT_CLR_STATUS register bit description
Bit
Variable Name
Access
Value
Description
i
CLR_STATUS[i]
W
1
Clears STATUS[i] variable in INT_STATUS
register (set to 0)
Table 98.
INT_SET_STATUS register bit description
Bit
Variable Name
Access
Value
Description
i
SET_STATUS[i]
W
1
Sets STATUS[i] variable in INT_STATUS
register to 1