AArch32 Registers | AArch64 Registers | AArch32 Instructions | AArch64 Instructions | Index by Encoding | External Registers | External Registers by Offset | Registers by Functional Group | Proprietary Notice

# EDECR, External Debug Execution Control Register

The EDECR characteristics are:

## Purpose

Controls Halting debug events.

## Configuration

It is IMPLEMENTATION DEFINED whether EDECR is implemented in the Core power domain or in the Debug power domain. Some or all RW fields of this register have defined reset values, and:

- The register is not affected by a Warm reset.
- If the register is implemented in the Core power domain the reset values apply on a Cold reset, and the register is not affected by an External debug reset.
- If the register is implemented in the Debug power domain the reset values apply on an External debug reset, and the register is not affected by a Cold reset.

If ARMv8.3-DoPD is implemented, this register is in the Core power domain. If ARMv8.3-DoPD is not implemented, this register is in the Debug power domain.

## Attributes

EDECR is a 32-bit register.

## Field descriptions

The EDECR bit assignments are:

31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
RES0 | SS | RES0 | RES0

#### Bits [31:3]

Reserved, RES0.

#### SS, bit [2]

Halting step enable. Possible values of this field are:

SS | Meaning
--- | ---
0b0 | Halting step debug event disabled.
0b1 | Halting step debug event enabled.

If the value of EDECR.SS is changed when the PE is in Non-debug state, behavior is CONSTRAINED UNPREDICTABLE as described in 'Changing the value of EDECR.SS when not in Debug state' in the Arm® Architecture Reference Manual, Armv8, for Armv8-A architecture profile.

The following resets apply:

- On a Cold reset, this field resets to :

  - if IsFeatureImplemented(ARMv8.3-DoPD), this field resets to 0. .

- On a Debug reset, this field resets to :

  - if IsFeatureImplemented(ARMv8.3-DoPD), this field resets to 0. .

#### Bit [1]
When ARMv8.3-DoPD is implemented:

Reserved, RES0.

####
Otherwise:

Reset Catch Enable.

RCE | Meaning
--- | ---
0b0 | Reset Catch debug event disabled.
0b1 | Reset Catch debug event enabled.

On a External debug reset, this field resets to 0.

#### Bit [0]
When ARMv8.3-DoPD is implemented:

Reserved, RES0.

####
Otherwise:

OS Unlock Catch Enable.

OSUCE | Meaning
--- | ---
0b0 | OS Unlock Catch debug event disabled.
0b1 | OS Unlock Catch debug event enabled.

On a External debug reset, this field resets to 0.

## Accessing the EDECR

#### EDECR can be accessed through the external debug interface:

Component | Offset | Instance
--- | --- | ---
Debug | 0x024 | EDECR

This interface is accessible as follows:

- When (ARMv8.3-DoPD is not implemented or IsCorePowered()) and SoftwareLockStatus() access to this register is RO.
- When (ARMv8.3-DoPD is not implemented or IsCorePowered()) and !SoftwareLockStatus() access to this register is RW.
- Otherwise access to this register returns an Error.

AArch32 Registers | AArch64 Registers | AArch32 Instructions | AArch64 Instructions | Index by Encoding | External Registers | External Registers by Offset | Registers by Functional Group | Proprietary Notice

27/03/2019 21:59; e5e4db499bf9867a4b93324c4dbac985d3da9376

Copyright © 2010-2019 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.