English
Language : 

LM3S308 Datasheet, PDF (76/537 Pages) Texas Instruments – ARM and Thumb are registered trademarks and Cortex is a trademark
The Cortex-M3 Processor
2.6.3
2.6.4
Usually, the exception priority, together with the values of the exception mask registers, determines
whether the processor enters the fault handler, and whether a fault handler can preempt another
fault handler as described in “Exception Model” on page 67.
In some situations, a fault with configurable priority is treated as a hard fault. This process is called
priority escalation, and the fault is described as escalated to hard fault. Escalation to hard fault
occurs when:
■ A fault handler causes the same kind of fault as the one it is servicing. This escalation to hard
fault occurs because a fault handler cannot preempt itself because it must have the same priority
as the current priority level.
■ A fault handler causes a fault with the same or lower priority as the fault it is servicing. This
situation happens because the handler for the new fault cannot preempt the currently executing
fault handler.
■ An exception handler causes a fault for which the priority is the same as or lower than the currently
executing exception.
■ A fault occurs and the handler for that fault is not enabled.
If a bus fault occurs during a stack push when entering a bus fault handler, the bus fault does not
escalate to a hard fault. Thus if a corrupted stack causes a fault, the fault handler executes even
though the stack push for the handler failed. The fault handler operates but the stack contents are
corrupted.
Note: Only Reset and NMI can preempt the fixed priority hard fault. A hard fault can preempt any
exception other than Reset, NMI, or another hard fault.
Fault Status Registers and Fault Address Registers
The fault status registers indicate the cause of a fault. For bus faults and memory management
faults, the fault address register indicates the address accessed by the operation that caused the
fault, as shown in Table 2-12 on page 76.
Table 2-12. Fault Status and Fault Address Registers
Handler
Status Register Name
Hard fault
Hard Fault Status (HFAULTSTAT)
Memory management Memory Management Fault Status
fault
(MFAULTSTAT)
Bus fault
Bus Fault Status (BFAULTSTAT)
Usage fault
Usage Fault Status (UFAULTSTAT)
Address Register Name
Register Description
-
page 128
Memory Management Fault page 122
Address (MMADDR)
page 129
Bus Fault Address
(FAULTADDR)
page 122
page 130
-
page 122
Lockup
The processor enters a lockup state if a hard fault occurs when executing the NMI or hard fault
handlers. When the processor is in the lockup state, it does not execute any instructions. The
processor remains in lockup state until it is reset, an NMI occurs, or it is halted by a debugger.
Note: If the lockup state occurs from the NMI handler, a subsequent NMI does not cause the
processor to leave the lockup state.
76
June 18, 2012
Texas Instruments-Production Data