2.1.3. About Profiling

In addition to analyzing the trace information directly, you can perform a statistical analysis of your trace information. This enables you to display details such as the amount of time your application spends executing certain functions as a percentage of the overall execution time. You can also display the information graphically as a histogram.

For ETM-enabled hardware, you can obtain profiling information using either or both of the following features (see Configuring the ETM for details on configuring these 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 trace capture hardware 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 on-chip 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 trace capture hardware 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

Cycle-accurate tracing is disabled if the processor enters debug state.

Note

If you have an ETMv3 core, then instruction count-based profiling information is shown, unless you enable one of these options.

RealView Debugger displays profiling information in the Profile tab of the Analysis window (see About the Analysis window).

Copyright © 2006 ARM Limited. All rights reserved.ARM DUI 0335A
Non-Confidential