Debug Test Access Port
ARM DDI 0301H
Copyright © 2004-2009 ARM Limited. All rights reserved.
14-41
ID012310
Non-Confidential, Unrestricted Access
See
Setting breakpoints, watchpoints, and vector catch debug events
on page 13-45 for the
sequences of register accesses required to program these software debug events. See
Writing
registers using scan chain 7
on page 14-40 to learn how to access CP14 debug registers using
scan chain 7.
14.9.4
Setting software breakpoints
To set a software breakpoint on a certain Virtual Address, a debugger must go through the
following steps:
1.
Read memory location and save actual instruction.
2.
Write the BKPT instruction to the memory location.
3.
Read memory location again to check that the BKPT instruction got written.
4.
If it is not written, determine the reason.
All of these can be done using the previously described sequences.
Note
Cache coherency issues might arise when writing a BKPT instruction. See
Debugging in a
cached system
on page 13-43.