09.12.2012 Views

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.15.10 Undefined instruction<br />

Programmers Model<br />

When the processor encounters an instruction that neither it nor any coprocessor in the system<br />

can handle, it takes the Undefined Instruction exception. Software can use this mechanism to<br />

extend the <strong>ARM</strong> instruction set by emulating Undefined coprocessor instructions.<br />

After emulating the failed instruction, the exception handler executes the following instruction,<br />

irrespective of the processor operating state:<br />

MOVS PC,R14_und<br />

2.15.11 Breakpoint instruction<br />

2.15.12 Exception vectors<br />

This action restores the CPSR and returns to the next instruction after the Undefined Instruction<br />

exception.<br />

IRQs are disabled when an Undefined Instruction exception occurs. See the <strong>ARM</strong> Architecture<br />

<strong>Reference</strong> <strong>Manual</strong> for more information about Undefined instructions.<br />

A breakpoint, BKPT, instruction operates as though the instruction causes a prefetch abort. A<br />

breakpoint instruction does not cause the processor to take the prefetch abort exception until the<br />

instruction reaches the Execute stage of the pipeline. If the processor does not execute the<br />

instruction, for example because a branch occurs while it is in the pipeline, the breakpoint does<br />

not take place.<br />

After dealing with the breakpoint, the handler executes the following instruction irrespective of<br />

the processor operating state:<br />

SUBS PC,R14_abt,#4<br />

This action restores both the PC and the CPSR, and retries the breakpointed instruction.<br />

Note<br />

If the EmbeddedICE-RT logic is configured into Halting debug-mode, a breakpoint instruction<br />

causes the processor to enter debug state. See Halting debug-mode debugging on page 12-3.<br />

The Secure Configuration Register bits [3:1] determine the mode that is entered when an IRQ,<br />

a FIQ, or an external abort exception occurs. The CP15 c12, Secure or Nonsecure Vector Base<br />

Address Register and the Monitor Vector Base Address Register define the base address of the<br />

Nonsecure, Secure, and Secure Monitor vector tables. If high vectors are enabled using CP15<br />

c1 bit[13], the base address of the Nonsecure and Secure vector tables is 0xFFFF0000, regardless<br />

of the value of these registers. Enabling high vectors has no effect on the Secure Monitor vector<br />

addresses.<br />

<strong>ARM</strong> DDI 0344K Copyright © 2006-2010 <strong>ARM</strong> Limited. All rights reserved. 2-32<br />

ID060510 Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!