Table 11-40, Values in link register after exceptions -42 – ARM Cortex R4F User Manual

Page 311

Advertising
background image

Debug

ARM DDI 0363E

Copyright © 2009 ARM Limited. All rights reserved.

11-42

ID013010

Non-Confidential, Unrestricted Access

Table 11-40 shows the values in the link register after exceptions.

The following sections describe:
•

Effect of debug exceptions on CP15 registers and WFAR

•

Avoiding unrecoverable states on page 11-43.

11.7.1

Effect of debug exceptions on CP15 registers and WFAR

The four CP15 registers that record abort information are:
1.

Data Fault Address Register (DFAR)

2.

Instruction Fault Address Register (IFAR)

3.

Instruction Fault Status Register (IFSR)

4.

Data Fault Status Register (DFSR).

For more information on these registers, see Chapter 4 System Control Coprocessor.

If the processor takes a debug exception because of a watchpoint debug event, the processor
performs the following actions on these registers:

•

it does not change the IFSR or IFAR

•

it updates the DFSR with the debug event encoding

•

it writes an Unpredictable value to the DFAR

•

it updates the WFAR with the address of the instruction that accessed the watchpointed
address, plus a processor state dependent offset:
—

+ 8 for ARM state

—

+ 4 for Thumb state.

If the processor takes a debug exception because of a breakpoint,

BKPT

, or vector catch debug

event, the processor performs the following actions on these registers:
•

it updates the IFSR with the debug event encoding

•

it writes an Unpredictable value to the IFAR

•

it does not change the DFSR, DFAR, or WFAR.

Table 11-40 Values in link register after exceptions

Cause of fault

ARM

Thumb

Return address (RA

a

) meaning

a. This is the address of the instruction that the processor can execute first on debug exception return. The

address of the access that hit the watchpoint is in the WFAR.

Breakpoint

RA+4

RA+4

Breakpointed instruction address

Watchpoint

RA+8

RA+8

Watchpointed instruction address

BKPT

instruction

RA+4

RA+4

BKPT

instruction address

Vector catch

RA+4

RA+4

Vector address

Prefetch Abort

RA+4

RA+4

Address of the instruction where the execution can resume

Data Abort

RA+8

RA+8

Address of the instruction where the execution can resume

Advertising
This manual is related to the following products: