XDS560 Trace
From Texas Instruments Embedded Processors Wiki
What is XDS560 Trace useful for?
Find previously “invisible” complex, intermittent, context-sensitive real-time bugs
- Detect scheduling issues, intermittent glitches, false interrupts and more without stopping the processor
- XDS560 Trace can be access by using the Advanced Event Triggering capability which is integrated with Code Composer Studio through the Unified Breakpoint Manager
Fine tune code performance and cache optimization of complex switch intensive multi-channel applications
- Real-time code and event profiling
- Fast and accurate code analysis with profiling, cache view and code coverage
- Support available today on: C641x, DM64x, C6455, TNETV3020, TCI6487, TCI6488, TMS320C6474, ARM9/ARM11 (Embedded Trace Buffer only). Please check your datasheet for details.
There is a summary presentation here that describes how XDS560 Trace works, what it is useful for, and provides some examples. : Trace_Introduction-ext-01.pdf
For use in Code Composer Studio, see: Unified Breakpoint Manager
How large of a Trace Buffer should be used?
The XDS560 trace pod comes with 64MB of Buffer memory. However, you can configure trace to use any of the following values: 256Kb, 512kB, 1Mb, 2Mb, 4Mb, 8Mb, 16Mb, 32Mb, 64Mb.
Why not just use the largest buffer (64Mb)?
With a 64Mb buffer, you will capture the maximum amount of data. Keep in mind, though, this is 64Mb of compressed data. It is estimated that a 64Mb buffer could potentially hold 1.5 Billion PC Trace data samples, which could require up to an estimated 135 GBs of disk space for the Trace Display to decompress, with estimated decode time on the order of 12 hours. And then, once it's decompressed, there is still more processing to do to make the data useful.
The problem with the existing trace display is that it decodes the entire buffer and tries to display it. It must keep all samples around, and thus uses up gigabytes of disk space storing it all. There will be other decoding solutions that provide for simultaneous decoding and processing of the data that will alleviate the disk space requirement. However, now there is more burden on the processing application to gather the necessary data prior to discarding each piece of decoded data. This can have an impact on the decoding time.
The recommendation is to start with a small buffer and see if it gets you enough data. If it does not, gradually increase the size of the data and run again until you see desired results. Efficient use of AET triggers allows trace to capture only data that is interesting to your scenario and to eliminate data that is not applicable. Clever triggering can allow the user to reduce the size of the capture buffer.
Using the Embedded Trace Buffer (ETB)
Some devices feature the Embedded Trace Buffer. If you use the ETB you do not need the XDS560 Trace hardware, just a JTAG connection through an emulator to use Trace.
XDS560 Trace Pod Technical Requirements
The XDS560 Trace unit utilizes the 60-pin TI JTAG Connectors. The 60-Pin Emulator Header User's Guidedescribes the 60-pin connector and target board electrical requirements for XDS560 Trace and JTAG support. Also see your Emulator manufacturer's documentation for emulator specific information. Users may also want to read the "Common Trace Transmission Problems and Solutions" at tidoc:SPRAAK6.
Debugging with Trace
Detailed documentation on the trace system, trace configuration and setting up trace jobs using Standard (PC, data and timing) and Event trace for debug can be found at Debugging with Trace.
Debugging with Trace provides:
- An introduction to trace
- How and when to use trace (includes Trace System Limitations discussion)
- Technical requirements for your board
- What's in the device to facilitate trace
- What's in CCS to facilitate trace
- Debug and profile examples
XDS560 Trace Display
- Trace Analyzer showing program and data tracing. Source code correlation and source file secondary display in lower window. There is also a function graph and a function level profile.
XDS560 Trace Software Versions
- The XDS560 Trace software is included with Code Composer Studio. There are occasionally software updates for XDS560 Trace which are included in service releases or as patches to service releases.
| Version | Pre-Requisites | Notes |
| XDS560 Version 1.1 (Included in CCS Service Release 11) | CCS version 3.3 | |
| XDS560 Version 1.1.0.0R37 Patch (Will be included with CCS Service Release 13) | CCS version 3.3 + CCS Service Relase 11 or 12 |
Fixes for: - Big endian trace decode generates bad data for C64x+ - ETB trace receiver defect when running DSP at full speed/over-clocking was generating bad data - C64x+ external event trace not working correctly - Issues with timing compression count for C64x+ Trace decoders generating bad data - Trace display intermittently saves the TDF file without an out file information making it bad for subsequent import use - Fixed issue to recognize newer TCI6488 devices versions for ETB Trace. |
| XDS560 Version 1.1 (Included in CCSv4 Beta 2 and newer) | CCSv4 (Beta 2 and newer) | Beta |
XDS560 TraceFAQ
When using TraceDisplay, what's the meaning of the up/down arrow in the beginning of each line?
These are indicators of a PC Discontinuity in the Trace Output. They are implemented with reverence to an address page that would have 0x0 at the top, and 0xFFFFFFFF at the bottom. An up arrow indicates a discontinuity to a lower address. A down arrow indicates a discontinuity to a higher address.
Where can I learn more about XDS560 Trace?
- http://focus.ti.com/docs/toolsw/folders/print/xds560trace.html
- http://www.blackhawk-dsp.com/Usb560t.aspx
Can I use XDS560 Trace with just a standard XDS560?
- Yes, with the embedded trace buffer (ETB) please check this page about the Embedded Trace Buffer
What do I need to do to design in the XDS560 Trace Header?
- Yes, please check this presentation. Trace_Header_Design-ext.pdf
How much memory is available on the XDS560 Trace Buffer?
- Initially, the XDS560 Trace Buffer supported only 224Kb of memory. Now, extended buffer memory is available through a software update. The new Extended Buffer Memory (EBM) is user configurable between 256K abd 64Mb (in increments of 256k)
I've been using the standard Trace with 224Kb memory capacity. What needs to be done to get access to the 64mB Extended Buffer Memory?
- Nothing needs to be done to the Trace Pod, all trace Pods have the Full 64Mb of memory. However, a software update is needed, and it's contained in CCS 3.3 SR8 (or later)
How do I configure the size of the XDS560 Trace Extended Buffer Memory?
- This setting can be found in the dialog obtained by selecting Tools->XDS560 Trace->Control. There is a drop-down box which enables the selection.
What is the XDS560 Emulator?
- Please see this link for more information XDS560.
Where can I learn more about how to turn the trace system on and off?
- Please see the Advanced Event Triggering or Unified Breakpoint Manager for details.
I am having trouble with my JTAG connection. Where can I learn how to find and fix the problem?
- For debugging issues with JTAG, you may want to check the topic Debugging JTAG Connectivity Problems
Does the XDS560 Trace unit support HSRTDX?
- No, the XDS560 Trace pod does not support HSRTDX.
How can I turn on Logging for Trace for TI support?
- Set the environment variable TI_TRACE_LOGGING to be equal to 6.
- To turn on trace logging in Windows:
- Quit CCS.
- Right click on the “MyComputer” icon on your desktop.
- Select “Properties”.
- In the System Properties dialog, click on the “Advanced” tab.
- In the Advanced tab, click on the “Environment Variables” button.
- In the “Environment Variables” dialog, under the “User variables” group, verify that the “TI_TRACE_LOGGING” environment variable exists and has a value of 6. Create it if it is not there.
- Click “OK” in all dialogs.
- Restart CCS.
- Reproduce the problem, noting what steps were performed in what order.
- If the problem is in the trace data:
- Send the emulation/analysis/bin/Logs/ti_trace_log_MMDDYY_PID.txt file.
- Zip file of Trace Analyzer/Display TDF file
- Application .OUT file (optional)
Can I get Trace if I use the simulator?
- Please see PDATS Trace
Conference Presentations
- 2007 TI Developers Conference (India) - 29-30 November 2007 (Bangalore)
- Trace Overview and Use Cases
- Topics
- AET/Trace Overview
- Statistical Profiling
- Interrupt Profiling
- Thread Aware Profiling
- Thread Aware Dynamic Function Call Graph
- Topics
- Trace Overview and Use Cases
- 2007 TI Developers Conference (India) - 29-30 November 2007 (Bangalore)
- Advanced Profiling Use Cases with XDS560 Trace
- Topics
- AET/Trace Overview
- Statistical Profiling
- Interrupt Profiling
- Thread Aware Profiling
- Thread Aware Dynamic Function Call Graph
- Topics
- Advanced Profiling Use Cases with XDS560 Trace
Publications & Articles
- Trace Exposes the Toughest Real Time Bugs (Sept 2007, Embedded Systems Design)
- XDS560 Trace press Release [1]
- Advanced Profiling with XDS560 Trace: RTENOTITLE
- Common Trace Transmission Problems and Solutions RTENOTITLE
- 60 pin trace header guide RTENOTITLE also see 60 Pin Trace Header
- JTAG Connectors
Related
- XDS560
- XDS560v2 System Trace
- XDS510
- XDS100
- AET Logic for the C6000 family
- Debugging With Trace
- Advanced Event Triggering
Leave a Comment


