Data Breakpoint Configuration Window for SAM

Provides the configuration options related to data breakpoint for SAM devices. Address mask and Data match are optional.


You can enter a specific address (e.g.: 0x8004) directly or an expression that evaluates to an address (e.g.: &x). Make sure the expression you enter represents the address of the data to monitor.

Note: Data breakpoints on local variables can result in false hits due to reuse of stack memory. Suggestion to declare it as static for debugging purpose.

Access Mode

You can configure the breakpoint to break on a specific Access Mode. Three types of access modes are supported:

Address Mask

Use this setting to define the range of addresses to monitor for access.

Byte Count

You can enter a number of address locations to monitor starting at the Location address. The actual range of monitored addresses can be wider than the expected range. E.g.: if the Location is 0x23FA and the Byte Count is 5, then the actual range of the monitored addresses is [0x23F8 to 0x23FF]. The way the actual range is computed is by calculating the number of least significant bits that have to be masked in the Location address (0x23FA) in order to cover the expected range [0x23FA to 0x23FA + 5]. In this case, the number of bits to be masked is three. As a result, the actual range [0x23F8 to 0x23FF] is wider than the expected range [0x23FA to 0x23FF].

Mask Size

This is a read-only field, which displays the number of least significant bits masked in the Location address. Mask Size is calculated based on the Byte Count and Location addresses.

Address Range

This is a read-only field, which displays the actual range of address monitored for access. Range is closed interval including both minimum and maximum address.

Data Match

Use the Data Match option to configure Data Breakpoint to compare the data at a specified location with a 32-bit value. The Break event is triggered by a successful match.


32-bit (4-byte) value to compare with data at the Location address. The value can be decimal or hexadecimal (e.g.: 100 or 0x64). You could further refine the Value by specifying Mask.


You can use Mask to extract the appropriate bytes from Value to use for data comparison. E.g.: if the Value is 0xAABBCCDD and Mask is HalfWord, then the last two bytes (0xCCDD) are extracted from Value and used for data comparison. This means data comparison would succeed for the following matches 0xXXXXCCDD, 0xXXCCDDXX, and 0xCCDDXXXX, where X is a don't care hexadecimal digit (0 to F). Three types of Mask's are supported:

  • Byte - Last byte extracted from Value is used for data comparison.
  • HalfWord - Last two bytes extracted from Value is used for data comparison.
  • Word (Default) - Whole four bytes from Value is used for data comparison.
Match Value

This is a read-only field which displays match values.