5.5.2. Using ranges and masks

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, shown in Figure 5.21. Use options from this menu to specify an expression range or mask a group of instructions.

Figure 5.21. Address Range and Mask menu

Address 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, shown in Figure 5.21. Use options from this menu to test a range of values or mask a range of data values.

Figure 5.22. Value Range and Mask menu

Value Range and Mask menu

Note

These menu options are only available where supported by your debug target and if you have specified an appropriate breakpoint type.

Choose from the available options to set up your breakpoint:

Address/Value Range

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. The separators .. are automatically inserted for you.

Address/Value Range by Length

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. The separators ..+ are automatically inserted for you.

Address/Value Mask

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.

NOT Address/Value Compare

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.

Autocomplete Range

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.

Note

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.

Copyright © 2003, 2004 ARM Limited. All rights reserved.ARM DUI 0234B
Non-Confidential