Coupling Breakpoints And Watchpoints - ARM ARM7TDMI Technical Reference Manual

Hide thumbs Also See for ARM7TDMI:
Table of Contents

Advertisement

B.18

Coupling breakpoints and watchpoints

B.18.1 Breakpoint and watchpoint coupling example
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[7:5]} XNOR {D[31:0],C[7:5]}) OR {Dm[31:0],Cm[7:5]}) == 0x7FFFFFFFF)
ARM DDI 0210C
You can couple watchpoint units 1 and 0 together using the CHAIN and RANGE
inputs. Using 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.
Let:
be the value in the address value register
Av[31:0]
be the value in the address mask register
Am[31:0]
be the address bus from the ARM7TDMI core
A[31:0]
be the value in the data value register
Dv[31:0]
be the value in the data mask register
Dm[31:0]
be the data bus from the ARM7TDMI core
D[31:0]
Cv[8:0]
be the value in the control value register
be the value in the control mask register
Cm[7:0]
be the combined control bus from the ARM7TDMI core, other
C[9:0]
watchpoint registers and the EXTERN signal.
CHAINOUT signal
The CHAINOUT signal is derived as follows:
The CHAINOUT output of watchpoint register 1 provides the CHAIN input to
Watchpoint 0. This CHAIN input enables you to specify complicated configurations of
breakpoints and watchpoints.
Note
There is no CHAIN input to Watchpoint 1 and no CHAIN output from Watchpoint 0.
Consider, for example, the request by a debugger to breakpoint on the instruction at
location YYY when running process XXX in a multi-process 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. The ENABLE bit is cleared.
Copyright © 2001, 2004 ARM Limited. All rights reserved.
Debug in Depth
B-57

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents