This chapter describes the properties
and capabilities of the various features available through the On-Chip Debug
framework deployed on this device.
The On-Chip Debug framework enables various Debug and Trace use-cases, including:
- JTAG Tooling – Access
to on-chip debug resources is supported by an IEEE 1149.1 (JTAG) compliant
interface that is supported by an Arm®
CoreSight™ DAP JTAG-DP.
- Self-Hosted Tooling –
code running on programmable cores within the device is able to use on-chip
debug resources to enable embedded tooling solutions.
- PCB-level interconnect
testing – IEEE 1149.1 and IEEE 1149.6 compliant Boundary Scan
supports product level integration testing
- Low Power Operation –
When on-chip JTAG and debug management logic is in a low power state,
activity sensed on the JTAG interface will cause this logic to be placed in
a functional state.
- Stop Mode debugging –
Debug of embedded processors is supported using various mechanisms that can
halt the pipeline of a CPU. Breakpoints (Software and Hardware),
Watchpoints, Cross-Triggering, and On-demand (e.g. user requested) halt
request mechanisms may be supported based on the capabilities of a given
processor.
- Debug-aware
Peripherals – Peripheral awareness of processor execution state
allows safe suspension of peripheral operation. Supported by select
peripherals.
- Synchronized Debug –
Wide deployment of Cross-Triggering allows multiple processors and/or debug
elements to be grouped together to process various actions based on a common
event occurrence.
- Processor Trace –
Support for the generation of a trace stream with the encoding of processor
state that may include some combination of program flow, timing details
(execution and stall), and memory references (address and/or data) with the
goal of facilitating processor state reconstruction for debug purposes.
- Software Messaging
Trace – Support for software messaging trace where embedded code
running within the device can be instrumented to use memory writes to send
important debug information to a trace stream.
- System Traffic Trace –
Strategically selected points in the SoC topology are instrumented with
trace-capable bus probes that support transaction trace, read-latency
monitoring, and throughput computation.
- Trace Correlation (through
timestamping) – Support for the correlation of different trace
streams is enabled through the use of a common global timestamp that is
distributed to supported trace sources.
- Trace data movement –
Trace data movement on chip is supported using standard Arm ATB trace
infrastructure components. Concurrent use of the trace bus by multiple trace
sources is supported, with each trace source identifiable through a unique
ID. An Arm®
CoreSight™ Trace Router supports sending a trace stream off-chip
(TPIU), to dedicated memory on-chip (TBR), or broadcasted to both (TPIU +
TBR).
- On-Chip trace collection
via dedicated buffer – An on-chip trace buffer is supported by logic
that implements capturing trace data until either the memory fills
(stop-on-full, system-bridge) or continuously until a request to stop is
received (circular buffer). Interleaving of multiple trace streams is made
possible through the use of a standardized encoding that embeds trace data
along with the corresponding trace source ID.
- Trace export over TPIU
– Trace data is exported over device LVCMOS pins using a standard protocol
that embeds trace data along with the corresponding trace source ID.
- Trace export
over USB – The on-chip trace buffer is used as an intermediate
buffer allowing trace data to be exported over an USB endpoint in real-time.