5.3.12. Other exceptions

Other exceptions include BKPT instruction exceptions, hardware breakpoints, and watchpoints.

If the exception occurs immediately after execution of a waypoint instruction, then the PTM:

  1. Traces the waypoint instruction normally, by generating one of:

    • An atom, that it outputs in an atom packet. This packet might include any atoms assembled before the exception occurred.

    • A branch address packet.

  2. Generates an exception branch address packet that identifies the exception and gives the address of the exception vector.

If the exception occurs when the processor has executed at least one nonwaypoint instruction since the last waypoint then the PTM:

  1. Upgrades the last instruction executed to a waypoint instruction, and generates a waypoint update packet that indicates the address of that instruction.

  2. Generates an exception branch address packet that identifies the exception and gives the address of the exception vector.

In both cases, see Table 4.4 for the encoding used, in the exception branch address packet, to indicate the exception type.

In the specific cases of a BKPT instruction that causes entry to Debug state or a Prefetch Abort exception, if the PTM generates a waypoint update packet address that packet indicates the address of the instruction before the BKPT instruction. This is similar to how a PTM normally traces a Prefetch Abort exception, and is appropriate because the normal use of a BKPT instruction is that the debugger replaces the BKPT instruction with a real instruction and then restarts execution at the address of the BKPT instruction. If a BKPT instruction causes:

Copyright © 1999-2002, 2004-2008, 2011 ARM. All rights reserved.ARM IHI 0035B
Non-ConfidentialID060811