15.8.3 DTSL decoding stages

The minimal pipeline decoder does nothing to the data from the trace capture device, except to write it into a DataSink for the trace client to read. You can use this pipeline when you know that the data from the trace capture device is already in the format required by a trace client. For example, if you have a disk file which contains raw PTM trace data (that is, the data exactly as output from the PTM onto the system ATB, which you might have captured from a simulation), then you can create a PTM-file-based trace capture device. The decoding pipeline would contain only a DataSink, into which you would write the content of the file. The PTM trace client could then read the PTM data directly from the DataSink.

For less straightforward pipelines, a chain of objects must be constructed, each of which must implement the IDataPipelineStage interface.

Figure 15-15 DTSL Trace Pipeline Hierarchy
DTSL Trace Pipeline Hierarchy

For ARM® based trace systems which use a TPIU Formatter (CoreSight ETB, TMC/ETB and TMC/ETR), two further pipeline stages must be added. These are the SyncStripper and Deformatter stages, which remove the TPIU sync frames and extract data for a particular trace source ID respectively.

Figure 15-16 ETB Trace Decode Pipeline Stages
ETB Trace Decode Pipeline Stages

By implementing new pipeline stages, it is possible to provide trace support for any trace capture device, as long as the final output stage can be reduced to data which is compatible with the expectations of a trace client.

Non-ConfidentialPDF file icon PDF versionARM DUI0446Z
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.