Category:Emulation

Introduction
Debug technology provides a way for users to inspect the inner details of a TI digital processor and help the product development by means of a hardware device (debug probe, formerly known as emulator). Debug also has the benefit of providing the scenario that is closest to the end product while still maintaining control over the device. Several debug probe technologies are available, allowing users to trade off features, speed, type of interface and cost. The use of additional accessories (trace memory, isolation interfaces, etc.) expands the features of debug probes by adding capabilities and useability in various environments.

This category holds information about the Debug technology and practical uses of debug probes with TI devices.

Overview
TI devices include advanced hardware debugging capabilities. These capabilities include:
 * IEEE 1149.1 (JTAG) and Boundary Scan
 * Non-intrusive access to registers and memory
 * Real-time mode which provides for the debugging of code that interacts with interrupts that must not be disabled. Real-time mode allows you to suspend background code at break events while continuing to execute time-critical interrupt service routines.
 * Multi-core operations such as synchronous run, step, and halt. This includes cross-core triggering, which provides the ability to have one core trigger other cores to halt.
 * Advanced Event Triggering (AET) which is available on selected devices, allows a user to halt the CPU or trigger other events based on complex events or sequences such as invalid data or program memory accesses. It can non-intrusively measure performance and count system events (for example, cache events).

Code Composer Studio provides Processor Trace on selected devices to help customers find previously “invisible” complex real-time bugs. Trace can detect the really hard to find bugs – race conditions between events, intermittent real-time glitches, crashes from stack overflows, runaway code and false interrupts without stopping the processor. Trace is a completely non-intrusive debug method that relies on a debug unit inside the DSP so it does not interfere or change the application’s real-time behavior. Trace can fine tune code performance and cache optimization of complex switch intensive multi-channel applications. Processor Trace supports the export of program, data, timing and selected processor and system events/interrupts. Processor Trace can be exported either to an XDS560 Trace external JTAG emulator, or on selected devices, to an on chip buffer Embedded Trace Buffer (ETB).

Available technologies
There are several types of debug probes available for TI digital processors:


 * XDS Pro Trace
 * XDS560v2 System Trace
 * XDS560
 * XDS510
 * XDS200
 * XDS110
 * XDS100
 * MSP430 JTAG Interface USB Driver

IEEE 1149.1 (JTAG) Technology Overview
Check the JTAG category for an overview about JTAG technologies used in TI digital processors.

Advanced Event Triggering
Advanced Event Triggering is a key TI debug capability that is a part of the device itself. Advanced Event Triggering is the ability to detect combinations of target processor events, and then perform actions such as halt the CPU.

In short, what Advanced Event Triggering can do is:
 * Perform the most frequently needed debug tasks, such as hardware breakpoints and watchpoints (data read/write to memory)
 * Analyze and benchmark system performance with event counters
 * Fix hard-to-find bugs that require detecting complex combinations and sequences of events

Trace Processor
Trace, available on selected devices to help customers find previously "invisible" complex real-time bugs. Trace can detect the really hard to find bugs - race conditions between events, intermittent real-time glitches, crashes from stack overflows, runaway code and false interrupts without stopping the processor. Trace is a completely non-intrusive debug method that relies on a debug unit inside the DSP so it does not interfere or change the application's real-time behavior.

Trace can fine tune code performance and cache optimization of complex switch intensive multi-channel applications. Processor Trace supports the export of program, data, timing and selected processor and system events/interrupts. Processor Trace can be exported either to an external emulator, or on selected devices, to an on chip buffer Embedded Trace Buffer (ETB).

TI provides XDS class debug probes that support real-time JTAG scan-based debugging with product support across the TI product line of microcontrollers to application processors.

These debug probes are integrated with the Code Composer Studio IDE to make all of TI's real-time debug control and visualization capabilities available to developers.

TI third parties provide logic analyzers, hardware testing equipment, and a wide array of debug probes that support different host I/O interfaces, such as USB, Ethernet, etc.

FAQs/Troubleshooting

 * 1) Troubleshooting CCS
 * 2) Debugging JTAG Connectivity Problems
 * 3) Connect 2+ Chips With Emulator
 * 4) Emulation FAQ
 * 5) Advanced Event Triggering FAQ

Support
Please use the following resources for support:


 * TI E2E Community - Development tools Forum
 * TI Support Site: http://support.ti.com