About Debug and Trace Services Layer (DTSL)
Debug and Trace Services Layer (DTSL) is a software layer within the Arm® Debugger stack. It sits between the debugger and the RDDI target access API.
DTSL takes responsibility for:
- Low level debugger component creation and configuration. For example, CoreSight™ component configuration, which can also involve live re-configuration.
- Target access and debug control.
Capture and control of trace data with:
- in-target trace capture components, such as ETB
- off-target trace capture device, such as DSTREAM.
- Delivery of trace streams to the debugger or other 3rd party trace consumers.
DTSL is implemented as a set of Java classes which are typically implemented (and possibly extended) by Jython scripts. A typical DTSL instance is a combination of Java and Jython.
A simple example of this is when DTSL connects to a simple platform containing a Cortex®-A8, ETM, and ETB. When the DTSL connection is activated it runs a Jython script to create the DTSL configuration. This configuration is populated with a Java Device object called Cortex-A8, a TraceSource object called ETM, and a TraceCaptureDevice object called ETB. The debugger,or another program using DTSL, can then access the DTSL configuration to retrieve these objects and perform debug and trace operations.
NoteDTSL Jython Scripting should not be confused with Arm Debugger Jython Scripting. They both use Jython but operate at different levels within the software stack. It is however possible for a debugger Jython Script to use DTSL functionality.
Arm has made DTSL available for your own use so that you can create Java or Jython programs to access and control the target platform.
For details, see the DTSL documents and files provided with Arm Development Studio here: