5.7.3. Trace packet sequence for data accesses

A data access can cause several different types of trace packet to be inserted into the trace packet stream. The sequence of packet types is always the same, although some packets might not be generated depending on the type of access.

The sequence of trace packet types for data accesses is as follows:

  1. Address of data access.

    If the trace port is configured to capture the address of data accesses, this address is the first information to be placed into the trace stream. Between one and five trace packets are required to encode the address, in a similar manner to branch addresses (see Compressed branch address packet structure). The address is compressed relative to the last data address output. Bit [7] of each packet indicates whether another address packet is to follow. The reason code is always b000.

    Note

    TRACESYNC is not asserted when the load/store address is output.

  2. Data value used in the transfer.

    If the trace port is configured to provide address and data value, or data value only, that data value is the next piece of information to be placed in the trace stream. The number of bytes of data value trace is the same as the number of bytes transferred by the instruction.

  3. Branch destination address.

    If the instruction is a load operation with the PC as a destination register, a branch destination address is output last. This is encoded in the same way as all other branch addresses.

    TRACESYNC is asserted when the first of the instruction address packets is output, in the same way as for other branches.

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