![](http://datasheet.mmic.net.cn/230000/79RC32438-200BB_datasheet_15568909/79RC32438-200BB_508.png)
IDT EJTAG System
Hardware Breakpoints
79RC32438 User Reference Manual
20 - 42
November 4, 2002
Notes
effects on loads must allow such reloads, or debug software should alternatively avoid setting data break-
points with data value compares on the address of such devices. Debug software must disable breakpoints
when returning to the instruction, otherwise the Debug Data Break Load/Store exception will reoccur. An
alternative is for debug software to emulate the instruction in software and change the DEPC accordingly.
Debug Data Break Load/Store Exception as an Imprecise Debug Exception
A Debug Data Break Load/Store Imprecise exception occurs when a data breakpoint indicates an
imprecise match. In this case, the DEPC register and DBD bit in the Debug register point to an instruction
later in the execution flow rather than at the load/store instruction that caused the DB_match equation to be
true. The load/store instruction causing the Debug Data Break Load/Store Imprecise exception always
updates the destination register and completes the access to the external memory system. Therefore this
load/store instruction is not re-executed on return from the debug handler, because the DEPC register and
DBD bit do not point to that instruction.
Several imprecise data breakpoints can be pending at a given time, if the bus system supports multiple
outstanding data accesses. The breakpoints are evaluated as the accesses finalize, and a Debug Data
Break Load/Store Imprecise exception is generated only for the first one matching. Both the first and
succeeding matches cause corresponding BS bits and DDBLImpr/DDBSImpr to be set, but no debug
exception is generated for succeeding matches because the processor is already in Debug Mode. Similarly,
if a debug exception had already occurred at the time of the first match (for example, due to a precise
debug exception), then all matches cause the corresponding BS bits and DDBLImpr/DDBSImpr to be set,
but no debug exception is generated because the processor is already in Debug Mode.
The SYNC instruction, followed by appropriate spacing must be executed before the BS bits and
DDBLImpr/DDBSImpr bits are accessed for read or write. This delay ensures that these bits are fully
updated. Any BS bit set prior to the match and debug exception are kept set, because only debug software
can clear the BS bits.
Breakpoints Used as Triggerpoints
Software can set up both instruction and data breakpoints such that a matching breakpoint does not
generate a debug exception, but sends an indication through the BS bit only. The TE bit in the IBCn or
DBCn register controls whether an instruction or data breakpoint, respectively, is used as a triggerpoint.
Triggerpoints are evaluated for matches under the same criteria as breakpoints. The BS bit in the IBS or
DBS register is set for a triggerpoint when the respective IB_match condition (see section “Conditions for
Matching Instruction Breakpoints” on page 20-35) or DB_match condition (see section “Conditions for
Matching Data Breakpoints” on page 20-37) is true. For the BS bit to be set for an instruction triggerpoint,
either the instruction must be fully executed or an exception must occur on the instruction.
The BS bit for a data triggerpoint can only be set if no exception with higher priority than the Debug Data
Break Load/Store exception with address match only occurred on the load/store instruction. For exceptions
with equal or lower priority than the Debug Data Break Load/Store exception with address match only, the
BS bits are still set for a matching triggerpoint. For example, the BS bit is set even if a TLB or Bus Error
exception occurred on the load/store instruction. Data triggerpoints with value compares require the data
value to be valid for the BS bit to be set, which is not the case if, for example, a TLB or Bus Error exception
occurs on a load instruction. However, for stores, the trigger may compare on UNPREDICTABLE data as
described in section “Data Breakpoints in case of Unaligned Address” on page 20-39. The rules for update
of the BS bits are shown in Table 20.27.