MIPI STP℠
MIPI System Trace Protocol
Developed by: Debug Working Group
A base protocol for application-specific trace functions
Quick Facts
-
Debug & Trace Portfolio
MIPI Alliance has a family of specifications that can be used to debug components in mobile devices as well as any device that is “smart” or connected, such as an end-point on the Internet of Things. Components that can be debugged with the tools include application processors, modems, device controllers, power management devices, and others.
All of these specifications are available for download and use by the public and the open source community.
Get the Specification
-
Current Version
MIPI STPSM v2.4 (February 2024)
Member version | Public version -
Previous Versions
All STP versions are available to MIPI members on the member website (Causeway).
Public versions of MIPI STP v1.0, v2.00.01, v2.1, v2.2 and v2.3
Overview
General Info
-
Overview
The MIPI System Trace Protocol (MIPI STPSM) was developed as a generic base protocol that can be shared by multiple application-specific trace protocols. It serves as a wrapper protocol that merges disparate streams that typically contain different trace protocols from different trace sources.
In this way, the STP specification was not intended to supplant or replace the highly optimized protocols used to convey data about processor program flow, timing or low-level bus transactions; rather, it is designed so that its data streams coexist with these optimized protocols as part of a complete debug system.
MIPI STP is developed by the MIPI Debug Working Group. All MIPI debug and trace specifications, including MIPI STP, are available for download and use by the public and the open source community. Members of the MIPI Alliance enjoy benefits including access to relevant licenses and opportunities to participate in development activities, interoperability workshops and other events.
For information about MIPI Alliance membership, visit Join MIPI.
-
Key Capabilities
The STP protocol is now in its second generation and is backward compatible with previous versions.
MIPI STP includes the following features:
- A trace stream composed of 4-bit frames
- Support for merging trace data from up to 65,536 independent data sources (major sources)
- Up to 65,536 independent data channels per major source
- Basic trace data messages that can convey 4-, 8-, 16-, 32- or 64-bit wide data
- Time-stamped data packets using one of several timestamp formats including:
- Gray code
- Natural binary
- Natural binary delta
- Export buffer depth (The legacy STP v1.0 timestamp requires debug and test controller (DTC) support)
- Data packet markers to indicate packet usage by higher-level protocols
- Flag packets for marking points of interest for higher-level protocols in the stream
- Packets for aligning timestamps from different clock domains
- Packets for indicating to the DTC the position of a trigger event, which is typically used to control actions in the DTC (e.g., to control trace capture)
- Packets for cross-synchronization events across multiple STP sources
- Support for user-defined data packets
- Facilities for synchronizing the trace stream on bit and message boundaries
- Optional support for data integrity protection of the trace stream
-
New Features
MIPI STP v2.4, adopted in February 2024, adds a channel error message (CERR) to STP. Also new in v2.4 is a structural rewriting of the specification document: STP now uses the "requirements-based specification" style.
Version 2.3, released in 2022, added a new packet type to carry payload information that identifies the platform from which the trace was captured and describes the contained trace data formats.
In addition, v2.3 added a Platform Description ID (PDID) packet that is used by the trace tool to identify the correct decoders for trace data, especially in those cases in which the system being traced or the presence of virtual guests is unknown. STP PDID provides a simple mechanism to link the trace data to the correct decoder, and it can be applied either globally (identifying the overall platform) or locally (targeting a single trace source or groups of trace sources).
-
Diagrams & Tables
Debug Capabilities per Adjacent Industries
(best viewed on desktop)
STM in a Target System
(click to enlarge)