Datasheet
78
SAM4S Series [DATASHEET]
11100F–ATARM–29-Jan-14
If another higher priority exception occurs during the exception entry, the processor starts executing the exception
handler for this exception and does not change the pending status of the earlier exception. This is the late arrival case.
Exception Return
An Exception return occurs when the processor is in Handler mode and executes one of the following instructions to load
the EXC_RETURN value into the PC:
An LDM or POP instruction that loads the PC
An LDR instruction with the PC as the destination.
A BX instruction using any register.
EXC_RETURN is the value loaded into the LR on exception entry. The exception mechanism relies on this value to
detect when the processor has completed an exception handler. The lowest five bits of this value provide information on
the return stack and processor mode. Table 12-10 shows the EXC_RETURN values with a description of the exception
return behavior.
All EXC_RETURN values have bits[31:5] set to one. When this value is loaded into the PC, it indicates to the processor
that the exception is complete, and the processor initiates the appropriate exception return sequence.
Table 12-10. Exception Return Behavior
EXC_RETURN[31:0] Description
0xFFFFFFF1
Return to Handler mode, exception return uses non-floating-point state
from the MSP and execution uses MSP after return.
0xFFFFFFF9
Return to Thread mode, exception return uses non-floating-point state from
MSP and execution uses MSP after return.
0xFFFFFFFD
Return to Thread mode, exception return uses non-floating-point state from
the PSP and execution uses PSP after return.