Debug probe software
Arm Development Studio together with the DSTREAM debug probes includes powerful software utilities for SoC bring-up and interfaces for third-party IP support.
CoreSight Access Tool (CSAT)
The CoreSight Access Tool (CSAT) provides a scriptable low-level interface to a target’s CoreSight Debug Access Port (DAP), which gives access to on-chip debug and system buses. CSAT is useful to perform initial bring-up tests before a debugger connection to the target is available.
CSAT enables the configuration of third-party IP connected to the DAP, for example custom instrumentation hardware, and can be used while a debugger is connected to an Arm processor. This enables the debug of complex hardware-related problems.
Python scripting
Arm target connection products implement powerful low-level target control via Python scripts. For example, this allows you to configure them to automatically refresh the watchdog timer while they are connected to the target, and work around hardware bugs.
Development Studio also uses Jython scripting for debug and trace configuration, making it simple to define complex trace topologies and helping you to route trace to Development Studio
RDDI API compatibility
RDDI is the main set of C APIs between Arm debuggers and DSTREAM devices. RDDI contains several API sets and these are supported by each device as follows:
RDDI API Class
DSTREAM Support
DSTREAM-ST Support
DSTREAM-PT Support
Third-party debuggers or other customer-specific tooling for both Arm and other processor cores can connect to DSTREAM probes using the RDDI interface. Whilst RDDI is a C level API, other languages can be used, such as Java and Python. The firmware in DSTREAM family has a flexible architecture to connect to multiple Arm and third-party IP cores on an SoC via a single debug interface.
RDDI is freely available from within the Development Studio installation.
A low-level RDDI connection to DSTREAM units can be used to gain access to the JTAG scan-chains inside the target device. This enables the unit to be used for simple tasks such as production testing and flash programming.