SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
Processor trace can be exported off-chip through an application interface (USB). For this purpose, the debug subsystem instantiates a CTools trace buffer rooter (CT_TBR) module, which operates in a system bridge configuration and basically represents a temporary buffer that holds data that is awaiting transfer to the L3_MAIN interconnect for export on functional I/O interfaces (USB) or storage in system memory.
The CT_TBR allows concurrent trace capture and export. A USB3.0 DMA engine (L3_MAIN) master can read trace data from the CT_TBR slave port as soon as a block is available for transfer.
The CT_TBR supports a DMA request generation via a read-only burst-capable interface. The primary purpose of the DMA event generation is to signal a DMA engine when the CT_TBR export FIFO has enough data to satisfy a burst read request on the system interface. The threshold for the DMA trigger is software configurable. A new DMA event is generated when the threshold is met again with new data being written to the FIFO.
The USB3.0 DMA engine supports hardware DMA requests. The CT_TBR can generate a DMA request (CT_TBR_DREQ) to the DMA_SYSTEM module (mapped to DMA_SYSTEM_DREQ_6 request line) for system memory storage.
The USB3.0 master only uses a single AXI-ID and does not support out of order execution. Therefore tracing through USB will prevent application software using USB simultaneously due to stalls from CT_TBR.
Such configuration allows supporting program trace on end product without additional debug pins taking advantage of the USB PHY throughput.