MIPI Alliance Debug Architecture provides a standardized infrastructure for debugging deeply embedded systems in the mobile space. The MIPI Debug Working Group released therefore a portfolio of specifications.
Their objective is to provide:
The whitepaper Architecture Overview for Debug summarizes all efforts of the MIPI Debug Working Group.
Debug is used within the MIPI Debug Architecture for standard debug and trace.
Standard Debug includes:
Standard debug is performed via classic JTAG or via memory-mapped debug registers:
Both, classic JTAG debugging and debugging via memory-mapped debug registers, can provide read/write access to system components (e.g. memory). This requires that Scan Interface/Bus Interface is connected to System Interconnect. If this connection is not available the external debug tool can only access the system components via the core(s) under debug.
Standard debug is currently always performed via a dedicated interface.
Traces allow an in-depth analysis of the behavior and the timing characteristics of the embedded system. Trace data is generated by two types of trace sources within a SoC.
Trace data streams from different trace sources are usually merged (Instrumentation Interconnect):
Trace data are usually postprocessed with a debug tool.
MIPI Approved Specification: Specification for SneakPeek Protocol (SPP)
SneakPeek opens up a path away from a dedicated interface for basic debug towards a protocol-driven interface.
Since SneakPeek accepts packets coming through an input buffer and delivers packets through an output buffer it can be easily connected to any standard I/O or network.
The MIPI Alliance Specification for SneakPeek Protocol describes the basic concepts, the required infrastructure, the packets and the data flow.
MIPI Approved Specification: Specification for System Trace Protocol (STP)
For a deeply embedded system with multiple cores a system trace is an indispensable mean to find and eliminate inefficiencies. A system trace provides the following features:
The MIPI System Trace Protocol provides the following trace facilities:
The protocol generates packets with the following content:
ARM´s CoreSight System Trace Macrocell which is compliant with MIPI STP is today an integral part of most multi-core chips used in the mobile space.
MIPI Approved Specification: MIPI Alliance Specification for Trace Wrapper Protocol,
The Trace Wrapper Protocol (TWP) enables multiple source trace streams to be merged into a single trace stream. The basic principle is that the source trace streams (byte streams) can be assigned system unique IDs. The following features are provided by the Trace Wrapper Protocol: