10.4.6. Breakpoint Control Registers

The DBGBCR characteristics are:

Purpose

Holds control information for a breakpoint.

Usage constraints

Used in conjunction with a DBGBVR, see Breakpoint Value Registers. Each DBGBVR is associated with a DBGBCR to form a Breakpoint Register Pair (BRP). DBGBVRn is associated with DBGBCRn to form breakpoint n.

Configurations

The processor implements 6 BRPs, and is specified by the DBGDIDR.BRPs field, see Debug Identification Register.

Attributes

See the register summary in Table 10.1. The debug logic reset value of a DBGBCR is unknown.

Figure 10.7 shows the DBGBCR bit assignments.

Figure 10.7. DBGBCR bit assignments

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


Table 10.8 shows the DBGBCR bit assignments.

Table 10.8. DBGBCR bit assignments

BitsNameFunction
[31:29]-

Reserved.

[28:24]Mask

Address mask. The processor does not support address range masking.

[23:20]BT

Breakpoint Type. This field controls the behavior of Breakpoint debug event generation. This includes the meaning of the value held in the associated DBGBVR, indicating whether it is an instruction address match or mismatch or a Context match. It also controls whether the breakpoint is linked to another breakpoint.

See the ARM Architecture Reference Manual for the meaning of bits[23:20].

[19:16]LBN

Linked Breakpoint Number. If this breakpoint is programmed for Linked instruction address match or mismatch then this field must be programmed with the number of the breakpoint that holds the Context match to be used in the combined instruction address and Context comparison. Otherwise, this field must be programmed to 0b0000.

Reading this register returns an unknown value for this field, and the generation of debug events is unpredictable, if either:

  • This breakpoint is not programmed for Linked instruction address match or mismatch and this field is not programmed to 0b0000.

  • This breakpoint is programmed for Linked instruction address match or mismatch and the breakpoint indicated by this field does not support Context matching or is not programmed for Linked Context ID match.

See the ARM Architecture Reference Manual for more information.

[15:14]SSC

Security State Control. This field enables the watchpoint to be conditional on the security state of the processor. This field is used with the Hyp Mode Control (HMC), and Privileged Mode Control (PMC), fields. See the ARM Architecture Reference Manual for possible values of the fields, and the mode and security states that can be tested.

This field must be programmed to b00 if DBGBCR.BT is programmed for Linked Context match. If this is not done, the generation of debug events by this breakpoint is unpredictable.

Note

When this field is set to a value other than b00, the SSC field controls the processor security state in which the access matches, not the required security attribute of the access.

[13]HMC

Hyp Mode Control. This field is used with the SSC and PMC fields. See the ARM Architecture Reference Manual for possible values of the fields, and the access modes and security states that can be tested.

This field must be programmed to 0 if DBGBCR.BT is programmed for Linked Context match. If this is not done, the generation of debug events by this breakpoint is unpredictable.

[12:9]-

Reserved.

[8:5]BAS

Byte Address Select. This field enables match or mismatch comparisons on only certain bytes of the word address held in the DBGBVR. The operation of this field depends also on:

  • The breakpoint type field being programmed for instruction address match or mismatch.

  • The Address range mask field being programmed to 0b00000, no mask.

  • The instruction set state of the processor, indicated by the CPSR.J and CPSR.T bits.

This field must be programmed to 0b1111 if either:

  • The DBGBVR.BT is programmed for Linked or Unlinked Context ID match.

  • DBGBCR.MASK is programmed to a value other than 0b00000.

If this is not done, the generation of Breakpoint debug events is unpredictable.

[4:3]-

Reserved.

[2:1]PMC

Privileged Mode Control. This field enables breakpoint matching conditional on the mode of the processor:

This field is used with the SSC and HMC fields. See the ARM Architecture Reference Manual for possible values of the fields, and the mode and security states that can be tested.

This field must be programmed to 0b11 if DBGBCR.BT is programmed for Linked Context IDmatch. If this is not done, the generation of debug events by this breakpoint is unpredictable.

Note

Bits[2:1] has no effect for accesses made in Hyp mode.

[0]E

Breakpoint Enable. This bit enables the breakpoint:

0

Breakpoint disabled.

1

Breakpoint enabled.

A breakpoint never generates a debug event when it is disabled.

Note

The value of the DBGBCR.E bit is unknown on reset. A debugger must ensure that DBGBCR.E has a definedvalue before it programs DBGDSCR[15:14] to enable debug.


Copyright © 2011-2013 ARM. All rights reserved.ARM DDI 0464F
Non-ConfidentialID051113