- Global variables are initialized with default
values during the start-up. The valid data breakpoint for global variables will hit
in the disassembly or initialization code during the start-up.
- There can be several instructions to perform
read/write data for a variable. E.g., the 'int' data type can have two individual
bytes read/write instructions, so the data breakpoint hits twice for the same
variable.
- Data breakpoint event can occur when the bus
access happens for the specific address
- Maximum number of data breakpoint supported (This
may vary based on specific device/family. Refer to the device specific data sheet.):
Architecture |
Maximum Data Breakpoint Supported |
ATmega |
- Two
without Data Mask (OR)
- One
without Data Mask and one with Data Mask
|
XMEGA |
- Two
without Data Mask (OR)
- One
without Data Mask and one with Data Mask (OR)
- Two
with Data Mask
|
UC3 |
- Two
without Data Mask (OR)
- One
without Data Mask and one with Data Mask (OR)
- Two
with Data Mask
|
SAM |
Device dependent. Refer to the device specific data
sheet. |
Tiny |
Does not support data breakpoint |
Most of the devices conform to the above limits.
Note: ATmega and SAM devices use multiple hardware
resources when a data breakpoint with a data mask is set. Hence, using a data mask
can reduce the number of data breakpoints to be set.