11.8.1. Help with specifying locations and values for hardware breakpoints

If supported by your hardware, RealView Debugger provides the following menus to help you specify locations and values for hardware breakpoint:

Address Range and Mask 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.

Value Range and Mask menu

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.

Also, the contents of these menus depend on your target.

Choose from the available options to set up your hardware breakpoint:

Range options

Enter the start address, or data value, for the breakpoint then select this option to specify a range, for example the address range 0x800FF..0x80A00. The separators “..” are automatically inserted for you.

Range by Length options

Enter the start address, or data value, for the breakpoint then select this option to specify a range by length, for example the address range 0x800FF..+0x1111. The separators “..+” are automatically inserted for you.

Mask options

Enter the address, or data value, for the breakpoint then select 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 address or data value being compared, before matching it against the one you specified. For example, if you specify the location 0x0111 and the mask 0xFFFF, then addresses such as 0x0111, 0x10111 and 0xFFC70111 match successfully.

The breakpoint activates when the address, or data value, matches the given value after masking.

NOT Compare options

Enter the address, or data value, for the breakpoint then select 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.

Autocomplete Range options

Enter a symbol and then select this option to compute the end-of-range address based on the symbol size:

  • If you enter a function name then the autocompleted range is from the start to the end of the function, for example, Proc_5..+0x1C.

  • If you enter a global variable the autocompleted range is the variable storage address plus the variable size, for example, Arr_2_Glob..+0x2710.

Note

You cannot mix ranges and masks.

See also

Copyright © 2002-2009 ARM Limited. All rights reserved.ARM DUI 0153K
Non-Confidential