| |||
| Home > Working with Breakpoints > Using the Set Address/Data Breakpoint dialog box > Using ranges and masks with hardware breakpoints | |||
Where supported by your target hardware, you can qualify the location and value match entries using options available from the right-arrow menu.
Click the right-arrow at the side of the Location data field to display the Address Range and Mask menu. Use options from this menu to specify an expression range or mask a group of instructions:
Address Range (HW Breaks only)
Address Range by Length (HW Breaks only)
Address Mask (HW Breaks only)
NOT Address Compare (HW Breaks only)
Autocomplete Range.
Click the right-arrow at the side of the Value Match data field to display the Value Range and Mask menu. Use options from this menu to test a range of values or mask a range of data values:
Value Range (HW Breaks only)
Value Range by Length (HW Breaks only)
Value Mask (HW Breaks only)
NOT Value Compare (HW Breaks only)
Autocomplete Range.
These menu options are only available where supported by your debug target and if you have specified a hardware Breakpoint Type.
Choose from the available options to set up your hardware breakpoint:
Enter the start address, or data value,
for the breakpoint then click this option to specify a range, for
example the address range 0x800FF..0x80A00 (see Specifying address ranges). The separators .. are automatically
inserted for you.
Enter the start address, or data value, for the
breakpoint then click this option to specify a range by length,
for example the address range 0x800FF..+0x1111 (see Specifying address ranges). The separators ..+ are
automatically inserted for you.
Enter the address, or data value, for the breakpoint then
click this option to specify a mask. RealView Debugger inserts the mask
for you, for example 0x800FF $MASK$=0xFFFF. Change
this mask as required.
The mask is a bitwise-AND mask applied to the specified address,
or data value, for example given the location 0x0111 and
a mask 0x1001 the result is 0x0001.
The breakpoint triggers when the address, or data value, matches the given value after masking.
Enter the address, or data value, for the breakpoint
then click this option to specify a NOT operation, for example $NOT$
0x800FF.
Similarly, use this option to specify a range of addresses,
or data values, to ignore, for example $NOT$ 0x0500..+0x0100.
Enter a symbol and then click this option to compute the end-of-range address based on the symbol size. For example, if you enter a function then the autocompleted range is from the start to the end of the function. Similarly, enter a global variable to see the end-of-range address autocompleted as the variable storage address plus variable size.
Many combinations of range, or mask, options are permitted. However, mixing range and mask generates a warning message to say that this is not permitted.