XC886/888CLM
On-Chip Debug Support
User’s Manual
17-4
V1.3, 2010-02
OCDS, V 1.0
17.3.1.1
Hardware Breakpoints
Hardware breakpoints are generated by observing certain address buses within the
XC886/888 system. The bus relevant to the hardware breakpoint type is continuously
compared against certain registers where addresses for the breakpoints have been
programmed.
The hardware breakpoints can be classified into different types:
•
Depending on the address bus supervised
–
Breakpoints on Instruction Address
Program Memory Address (PROGA) is observed
–
Internal Data Memory Addresses for read/write (SOURCE_A, DESTIN_A) are
observed
•
Depending on the way comparison is done
– Equal breakpoints
Comparison is done only against one value; the break event is raised when just
this value is matched.
– Range breakpoints
Comparison is done against two values; the break event is raised when a value
observed is found belonging to the range between two programmed values
(inclusively).
Breakpoints on Instruction Address
These Instruction Pointer (IP) breakpoints are generated when a break address is
matched for the first byte of an instruction that is going to be executed i.e., for the
address within Program Memory where an instruction opcode is fetched from.
Note: In case of 2- and 3-byte instructions, the break will not be generated for addresses
of the second and third instruction bytes.
The IP breakpoints are of Break Before Make type, therefore the instruction at the
breakpoint is executed only after the proper debug action is taken.
The OCDS in XC886/888 supports both equal breakpoints and range breakpoints on
Instruction address (see
“Configurations of Hardware Breakpoints” on Page 17-5
).
Breakpoints on IRAM Address
These breakpoints are generated when an instruction performs read or write access to
a location within a defined address range from the Internal Data Memory (IRAM).
The IRAM breakpoints are of Break After Make type, therefore the proper debug action
is taken immediately after the operation to the breakpoint address is performed.
The OCDS in XC886/888 supports only range breakpoints on IRAM address.
*