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.
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. It is available as v2.3. 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.
The latest version of the protocol, v2.3, released in 2022, adds 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. STP v2.3 adds 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).