18
32000D–04/2011
AVR32
should be written to zero, making ACBA word aligned. Failing to do so may result in erroneous
behaviour.
CPUCR - CPU Control Register
Register controlling the configuration and behaviour of the CPU. The behaviour of this register is
IMPLEMENTATION DEFINED. An example of a typical control bit in the CPUCR is an enable bit
for branch prediction.
ECR - Exception Cause Register
This register identifies the cause of the most recently executed exception. This information may
be used to handle exceptions more efficiently in certain operating systems. The register is
updated with a value equal to the EVBA offset of the exception, shifted 2 bit positions to the
right. Only the 9 lowest bits of the EVBA offset are considered. As an example, an ITLB miss
jumps to EVBA+0x50. The ECR will then be loaded with 0x50>>2 == 0x14. The ECR register is
not loaded when an scall, Breakpoint or OCD Stop CPU exception is taken. Note that for inter-
rupts, the offset is given by the autovector provided by the interrupt controller. The resulting ECR
value may therefore overlap with an ECR value used by a regular exception. This can be
avoided by choosing the autovector offsets so that no such overlaps occur.
RSR_SUP, RSR_INT0, RSR_INT1, RSR_INT2, RSR_INT3, RSR_EX, RSR_NMI - Return Status Registers
If a request for a mode change, for instance an interrupt request, is accepted when executing in
a context C, the Status Register values in context C are automatically stored in the Return Sta-
tus Register (RSR) associated with the interrupt context I. When the execution in the interrupt
state I is finished and the rets / rete instruction is encountered, the RSR associated with I is cop-
ied to SR, and the execution continues in the original context C.
RSR_DBG - Return Status Register for Debug Mode
When Debug mode is entered, the status register contents of the original mode is automatically
saved in this register. When the debug routine is finished, the retd instruction copies the con-
tents of RSR_DBG into SR.
RAR_SUP, RAR_INT0, RAR_INT1, RAR_INT2, RAR_INT3, RAR_EX, RAR_NMI - Return Address Registers
If a request for a mode change, for instance an interrupt request, is accepted when executing in
a context C, the re-entry address of context C is automatically stored in the Return Address Reg-
ister (RAR) associated with the interrupt context I. When the execution in the interrupt state I is
finished and the rets / rete instruction is encountered, a change-of-flow to the address in the
RAR associated with I, and the execution continues in the original context C. The calculation of
RAR_DBG - Return Address Register for Debug Mode
When Debug mode is entered, the Program Counter contents of the original mode is automati-
cally saved in this register. When the debug routine is finished, the retd instruction copies the
contents of RAR_DBG into PC.
JECR - Java Exception Cause Register
This register contains information needed for Java traps, see AVR32 Java Technical Reference
Manual for details.
JOSP - Java Operand Stack Pointer
This register holds the Java Operand Stack Pointer. The register is initialized to 0 at reset.