Coupling Breakpoints And Watchpoints - Epson ARM720T Core Cpu Manual

Revision 4 (amba ahb bus interface version)
Table of Contents

Advertisement

9.26

Coupling breakpoints and watchpoints

You can couple watchpoint units 1 and 0 together using the CHAIN and RANGE inputs. The
use of CHAIN enables Watchpoint 0 to be triggered only if Watchpoint 1 has previously
matched. The use of RANGE enables simple range checking to be performed by combining the
outputs of both watchpoints.
9.26.1
Breakpoint and watchpoint coupling example
Let:
Av[31:0]
Am[31:0]
A[31:0]
Dv[31:0]
Dm[31:0]
D[31:0]
Cv[8:0]
Cm[7:0]
C[9:0]
CHAINOUT signal
The CHAINOUT signal is derived as follows:
WHEN (({Av[31:0],Cv[4:0]} XNOR {A[31:0],C[4:0]}) OR {Am[31:0],Cm[4:0]} == 0xFFFFFFFFF)
CHAINOUT = ((({Dv[31:0],Cv[6:4]} XNOR {D[31:0],C[7:5]}) OR {Dm[31:0],Cm[7:5]}) ==
0x7FFFFFFFF)
The CHAINOUT output of watchpoint register 1 provides the CHAIN input to Watchpoint 0.
This CHAIN input enables you to use quite complicated configurations of breakpoints and
watchpoints.
There is no CHAIN input to Watchpoint 1 and no CHAIN output from Watchpoint
Note:
0.
For example, consider the request by a debugger to breakpoint on the instruction at location
YYY when running process XXX in a multiprocess system. If the current process ID is stored
in memory, you can implement the above function with a watchpoint and breakpoint chained
together. The watchpoint address points to a known memory location containing the current
process ID, the watchpoint data points to the required process ID and the ENABLE bit is
cleared.
The address comparator output of the watchpoint is used to drive the write enable for the
CHAINOUT latch. The input to the latch is the output of the data comparator from the same
watchpoint. The output of the latch drives the CHAIN input of the breakpoint comparator. The
address YYY is stored in the breakpoint register, and when the CHAIN input is asserted, the
breakpoint address matches and the breakpoint triggers correctly.
ARM720T CORE CPU MANUAL
Be the value in the address value register
Be the value in the address mask register
Be the address bus from the ARM720T processor
Be the value in the data value register
Be the value in the data mask register
Be the data bus from the ARM720T processor
Be the value in the control value register
Be the value in the control mask register
Be the combined control bus from the ARM720T core, other
watchpoint registers, and the DBGEXT signal.
EPSON
9: Debugging Your System
9-43

Advertisement

Table of Contents
loading

Table of Contents