14.5.1. TraceEnable

TraceEnable is Precise if all of the following are true:

The processor can execute two instructions in a cycle. The TraceEnable enabling event is calculated once per cycle. The other parts of TraceEnable are calculated once per instruction.

If the processor executes two instructions in a cycle, the ETM can trace neither of them or both of them, but cannot trace only one of them. If TraceEnable indicates that one instruction can be traced, then trace is generated as if TraceEnable had indicated that both instructions on that cycle can be traced. As an example, consider the following case:

In this case, TraceEnable behaves as follows:

  1. The first instruction is traced because the start/stop resource was active.

  2. The second instruction is traced because the first instruction was traced.

  3. Instructions are not traced on subsequent cycles because the start/stop resource is off.

Copyright © 2006-2009 ARM Limited. All rights reserved.ARM DDI 0344I
Non-Confidential