CP Tracer Details

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search
Translate this page to   

Contents

Introduction

The Common Platform Tracer (CPT) provides profiling, event logging and debug support for the slave bus a CPT module is integrated with. A device will typically have many CPT modules strategically provided on key slave buses. CPTs are completely unobtrusive to the slave's data flow. CPT statistics and events can be qualified to focus on a specific data source. CPT statistics profiling data is generated periodically while events are generated per access. CPT modules support cross-triggering. CP Tracer data is exported as System Trace Module (STM) messages that can be collected with an on-chip Embedded Trace Buffer (ETB) or exported over the device's EMU pins to an XDS560v2 System Trace emulator.

Profiling

A CPT can export STM messages for the following statistics counters periodically:

The Throughput Counters can be filtered with with master, address, data type (CPU Instruction, CPU data, or DMA ) and access type (read or write). Each throughput counter has independent master selects, although the same address, data type and access type filters are applied to all selected masters. The Wait and Access Counters are not filtered.

The CPT's sample period counter advances at the clock rate of the slave bus the CPT is attached to. The clock rates for each slave can be found in the Device_Specific_Details.

Event Logging

Events are logged for the following slave bus events:

New Request and Last Read Events are filtered by master, address, data type (CPU Instruction, CPU data, or DMA ) and access type (read or write). Event message provides the following data:

For New Request Event messages only 10 bits of the event address is provided. The 10 bits of the address provided is selectable.

Warning - Multiple events can be enabled at the same time, although this is not recommended due to the high probability of message overflow.

Triggering

A CP Tracer can be enabled to generate a cross trigger-out or qualify statistic counting and event logging with a cross trigger-in. A cross trigger-out from a CP Tracer can be used to halt a core or as a trigger-in for AET functions. The trigger-in can be used to provide additional qualification from AET to isolate a slave bus CPT statistics or events to a specific range of application execution.

CP Tracer Setup

CP Tracers can be programmed through CToolsLib APIs (via CPTLib)  or with CCS debugger Unified Breakpoints Manager (UBM) view (Overview) .

When using CCS, CP Tracer messages can be collected internally with the Embedded Trace Buffer (ETB) or externally with an XDS560v2 System Trace.

CPTLib requires integration with your application code, although helper functions are provided for easily setting up the most common use cases. When using CPTLib, CP Tracer messages can be collected internally with the device's ETB or exported out the EMU pins and collected with an XDS560v2 System Trace. If data is captured with ETB for a remote system where CCS is not connected the user must facilitate transport of the data to a host with CCS to process the CP Tracer data.

CP Tracer Use Cases and Data Processing

If CCS is used to setup the ETB (using any XDS) or an XDS560v2 System Trace for CP Tracer data capture, then CCS will be used to processes and display the data. If CPTLib is used with an ETB to facilitate remote CP Tracer data capture (no XDS involved) then the console utility bin2tdf is used to convert the binary CP Tracer data into a .tdf file that can then be imported into CCS's Tracer Analyzer for display and graphing.

There are three uses cases the CPT statistic counter periodic data can be processed for:

  1.  % of total slave activity utilized by selected master(s)
  2. Slave Bus Bandwidth utilized by selected master(s)
  3. Average Access Size of slave transactions
  4. Bus Utilization
  5. Contention Percentage
  6. Minimum Average Latency
  1. Slave Bus Bandwidth utilized by master set 0
  2. Slave Bus Bandwidth utilized by master set 1
  3. Bus Utilization
  4. Contention Percentage
  5. Minimum Average Latency

Event data is not processed and can be enabled with any other use case.

The primary expectation for the Raw use cases is debugging problems where the number of bytes transferred to a slave is required.

CPTLib note: CPTLib utilizes the STM Library to provide a channel to transport meta-data required to process the data for the two profile use cases. If the meta-data is not provided data is presented in the "Raw" form.

Results

To see an example of Total Bandwidth Profile data graphed see the examples results.

Device Specific Details

Each device has a unique CP Tracer configuration. Each of the following modules have a CP Tracer module integrated on the slave bus. In parenthesis is the clock rate divide-by-factor of the module relative to the core clock rate.

TMS3206670 and TMS320TCI6616

Errata 1 - CP Tracer cross trigger-in is a level and therefore not compatible with AET Trigger-out which is a pulse. No known workaround.

TMS3206672, TMS3206674, and TMS3206678

Errata 1 - CP Tracer cross trigger-in is a level and therefore not compatible with AET Trigger-out which is a pulse. No known workaround.

For technical support or comments

Leave a Comment
Personal tools
Namespaces
Variants
Actions
Navigation
Print/export
Toolbox