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: