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.