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 BRPn.

Configurations

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

Attributes

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

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 range 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 breakpoint type values and meanings.

[19:16]LBN

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

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

  • this BRP is not programmed for Linked instruction address match or mismatch and this field is not programmed to b0000

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

See the ARM Architecture Reference Manual for more information.

[15:14]SSC

Security State Control. This field enables the breakpoint 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.

[13]HMC

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

[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 b00000, no mask

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

This field must be programmed to b1111 if either:

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

  • DBGBVR.M is programmed to a value other than b00000.

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.

Note

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

[0]BE

Breakpoint Enable. This bit enables the BRP:

0

BRP disabled.

1

BRP enabled.

A BRP never generates a Breakpoint debug event when it is disabled.

Note

The value of DBGBCR.E is unknown on reset. A debugger must ensure that DBGBCR.E has a defined value before it programs DBGDSCR.MDBGen and DBGDSCR.HDBGen to enable debug.


Copyright © 2011 ARM. All rights reserved.ARM DDI 0438D
Non-ConfidentialID122011