This window provides configuration options related to data breakpoint for UC3 devices.
Location
You can enter a specific address in RAM (e.g.:
0x8004
) directly or an expression that evaluates to an address in RAM
(e.g.: &x
). Make sure the expression you enter represents the address
of the data to monitor.
Access Mode
You can configure the breakpoint to break on a specific Access Mode. Three types of access modes are supported:
Access Size
You can configure the breakpoint to break on a specific Access Size. Four types of access size are supported:
Configuration:
Code:
1: int word = 0; 2: short *halfWord = (short*)&word; 3: 4: int main(void) 5: { 6: word = 0xAABBCCFF; 7: *halfWord = 0xDDEE; 8: }
For the above configuration and code, program breaks at line eight after
halfWord
access.
Data Match
Use the Data Match option to configure Data Breakpoint to compare the data at a specified location with a 32-bit value. Break event is triggered by a successful match.
32-bit (4-byte) value to compare with data at
Location address. The value can be decimal or
hexadecimal (e.g.: 100
or 0x64
). Based on
Access Size, respective bytes are used for data
comparison. For example, if you select 'HalfWord Access' as Access
Size and enter 0xAABBCCDD
as
Value, then only the last two bytes
(0xCCDD
) are used for data comparison. Further, you could
refine the Value by specifying
Mask.
Each checkbox controls the significance of respective byte in the Value field. Select the appropriate checkbox to mask specific byte in the Value field. The number of checkboxes displayed is decided based on Access Size. Four checkboxes (one per byte) are displayed for 'Any' and 'Word Access', two checkboxes for 'HalfWord Access', and one checkbox for 'Byte Access'.
A read-only field, which displays masked value based
on Access Size, Value, and
Mask (Byte) field. A masked byte is represented as
'XX'
, which means that byte is insignificant in data
comparison.