The Cortex-M4 Processor
ARM DUI 0553A
Copyright © 2010 ARM. All rights reserved.
2-21
ID121610
Non-Confidential
2.3
Exception model
This section describes the exception model. It describes:
•
•
•
•
•
•
•
.
2.3.1
Exception states
Each exception is in one of the following states:
Inactive
The exception is not active and not pending.
Pending
The exception is waiting to be serviced by the processor.
An interrupt request from a peripheral or from software can change the
state of the corresponding interrupt to pending.
Active
An exception that is being serviced by the processor but has not
completed.
Note
An exception handler can interrupt the execution of another exception
handler. In this case both exceptions are in the active state.
Active and pending
The exception is being serviced by the processor and there is a pending
exception from the same source.
2.3.2
Exception types
The exception types are:
Reset
Reset is invoked on power up or a warm reset. The exception model treats
reset as a special form of exception. When reset is asserted, the operation
of the processor stops, potentially at any point in an instruction. When
reset is deasserted, execution restarts from the address provided by the
reset entry in the vector table. Execution restarts as privileged execution
in Thread mode.
NMI
A
Non Maskable Interrupt
(NMI) can be signalled by a peripheral or
triggered by software. This is the highest priority exception other than
reset. It is permanently enabled and has a fixed priority of -2. NMIs cannot
be:
•
masked or prevented from activation by any other exception
•
preempted by any exception other than Reset.
HardFault
A HardFault is an exception that occurs because of an error during
exception processing, or because an exception cannot be managed by any
other exception mechanism. HardFaults have a fixed priority of -1,
meaning they have higher priority than any exception with configurable
priority.