6.4.4. Value Not Traced packets

It is possible for a compiler to combine adjacent LDR or STR operations into an LSM without your knowledge. In ETMv1, data tracing can be enabled only at the beginning of a Load/Store Multiple (LSM) instruction. ETMv2 can partially trace an LSM and output only the data values that match the trigger criteria.

When the first data value associated with an LSM is traced, a Normal Data packet is placed in the FIFO containing the data address (if address tracing is enabled) and the data value (if data value tracing is enabled). All subsequent data transfers for that LSM place a packet in the FIFO according to the following rules:

Value Not Traced packets comprise only a Value Not Traced header byte. The decompression software must work backwards from the final data transfer, using the Value Not Traced packets in combination with the normal data packets, to determine which of the LSM values were traced.

Note

If tracing begins on a LSM instruction, it continues until the LSM completes, even if TraceEnable is deasserted before the instruction completes. This means that instructions executed under an LSM are also traced, regardless of whether TraceEnable remains asserted (see Independent load/store unit).

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