2.11.1. Profiling with ETM-enabled hardware

For ETM-enabled hardware, you can obtain profiling information using any of the following features:

Timestamping

Analyzing timestamp values enables you to see, for example, when pauses have occurred in processor execution, and how long it takes between successive invocations of a particular section of code.

With timestamping enabled, your TPA adds a timestamp value to each line of traced information. Trace information is time stamped at a resolution of 10ns on RealView Trace.

Note

Timestamping is not available when tracing with an ETB.

Cycle-accurate tracing

When profiling the execution of critical code sequences, it is often useful if you can observe the exact number of cycles that a particular code sequence takes to execute.

Cycle-accurate tracing causes the TPA to capture trace on all cycles, even if there is no trace to output on that cycle. Therefore, you can determine the number of cycles taken by a region of code by counting the number of cycles of traced capture.

Note

For ETMs earlier than ETMv3, cycle-accurate tracing is disabled when a trace discontinuity occurs (for example, if the processor enters debug state).

Instruction count-based

If you have an ETMv3 core, then by default profiling is based on instruction count-based information. However, timestamping and cycle-accurate tracing overrides this.

Note

For ETMv3, timestamping and cycle-accurate tracing are mutually exclusive.

Copyright © 2006, 2007 ARM Limited. All rights reserved.ARM DUI 0322B
Non-Confidential