at91rm3400 ATMEL Corporation, at91rm3400 Datasheet - Page 113

no-image

at91rm3400

Manufacturer Part Number
at91rm3400
Description
Atmel Advanced At91 Arm Microcontroller
Manufacturer
ATMEL Corporation
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
at91rm3400-AU-002
Manufacturer:
Atmel
Quantity:
10 000
Spurious Interrupt
General Interrupt
Mask
1790A–ATARM–11/03
However, while the Protect Mode is activated, only operations 1 to 3 are performed when
AIC_IVR is read. Operations 4 and 5 are only performed by the AIC when AIC_IVR is written.
Software that has been written and debugged using the Protect Mode runs correctly in Normal
Mode without modification. However, in Normal Mode the AIC_IVR write has no effect and can
be removed to optimize the code.
The Advanced Interrupt Controller features protection against spurious interrupts. A spurious
interrupt is defined as being the assertion of an interrupt source long enough for the AIC to
assert the nIRQ, but no longer present when AIC_IVR is read. This is most prone to occur
when:
The AIC detects a spurious interrupt at the time the AIC_IVR is read while no enabled interrupt
source is pending. When this happens, the AIC returns the value stored by the programmer in
AIC_SPU (Spurious Vector Register). The programmer must store the address of a spurious
interrupt handler in AIC_SPU as part of the application, to enable an as fast as possible return
to the normal execution flow. This handler writes in AIC_EOICR and performs a return from
interrupt.
The AIC features a General Interrupt Mask bit to prevent interrupts from reaching the proces-
sor. Both the nIRQ and the nFIQ lines are driven to their inactive state if the bit GMSK in
AIC_DCR (Debug Control Register) is set. However, this mask does not prevent waking up
the processor if it has entered Idle Mode. This function facilitates synchronizing the processor
on a next event and, as soon as the event occurs, performs subsequent operations without
having to handle an interrupt. It is strongly recommended to use this mask with caution.
An external interrupt source is programmed in level-sensitive mode and an active level
occurs for only a short time.
An internal interrupt source is programmed in level sensitive and the output signal of the
corresponding embedded peripheral is activated for a short time. (As in the case for the
Watchdog.)
An interrupt occurs just a few cycles before the software begins to mask it, thus resulting in
a pulse on the interrupt source.
AT91RM3400
113

Related parts for at91rm3400