7.7.1. Rules for generating timestamps

When a timestamp is generated, the timestamp value is of the last traced instruction. If you have enabled timestamping, the following events request the generation of a timestamp packet:

When it receives a timestamp request, the ETM generates a timestamp packet only if at least one of the following applies:

If periodic synchronization is requested while tracing is disabled, the timestamp does not have to be a full timestamp. However, a full timestamp must always be output when tracing is restarted, after the A-Sync packet generated by the periodic synchronization request. A timestamp packet containing a full timestamp is also called a T-Sync packet. See Timestamp packet.

Certain timestamp request events, such as ISB, exception taken, and exception return, are execution events by the processor. For these events a timestamp is requested regardless of whether the event is traced by the ETM. This also applies in data-only mode.

The ETM might not generate the timestamp packet immediately when it receives the request. It can delay generating the packet to a point that is convenient to the ETM. The timestamp indicates the time of the last traced instruction, not the time the request was made. This means that a timestamp does not indicate the time when the requesting event occurred. A timestamp is only a time indicator inserted into the trace stream near the event that requested a timestamp.

If the ETM receives multiple timestamp requests close together, it might not generate a timestamp packet for each request. However:

If a trace overflow occurs or after the first time trace is enabled, the next timestamp must not occur until at least one instruction has been traced, so that the timestamp contains the time of the last traced instruction. The first timestamp after an overflow must be a full timestamp because a compressed timestamp might have been lost because of the overflow.

In data-only mode, the timestamp is not of the last traced instruction, but of the last traced data item This is not necessarily the timestamp request time.

When tracing instructions, if no instructions are traced between two successive timestamp requests, the second request can be ignored unless it is caused by a clock period change or by a periodic synchronization request.

In data-only mode, if no data items are traced between two successive timestamp requests, the second request can be ignored unless it is caused by a clock period change or by a periodic synchronization request.

Copyright © 1999-2002, 2004-2009, 2011 ARM Limited. All rights reserved.ARM IHI 0014Q
Non-ConfidentialID101211