Embedded Development Tools and Debuggers for XC2000, TriCore, PowerPC, ARM, Cortex, SH-2A » Support & Updates » Principles of Debugging » Instruction Trace
| Print |

Instruction Trace - MCDS, Aurora Gigabit, OCDS L2, ETM, ETB, Nexus and Triggered Transfers

In depth real-time debugging requires close interaction with the processor. Tracing shall provide a chronological picture of a system's inner workings - before or after a critical event - mainly to help analyzing a faulty program.


Aurora Gigabit Instruction Trace with MCDS Support

For the first time, an Aurora GigaBit Trace (AGBT) interface was also implemented on the Emulation Device of the TC257T AURIX. This enables a significant enlargement of the trace memory by connecting external hardware and thus high-end trace tasks with large amounts of data, for example code coverage. However, a 2.5 Gbit/s Aurora interface requires a correspondingly high-performance hardware for signal acquisition, signal conditioning and pre-processing on the target. A corresponding Trace-Pod with AGBT interface is already available for the UAD3+ from PLS. The up to 4 GByte of external trace memory of the UAD3+ are sufficient for support of even the most demanding measurement tasks.

For program trace, data trace and even bus trace, Infineon again relies on the proven concept of the Emulation Devices (ED) with integrated Multi-Core Debug Solution (MCDS). The Emulation Devices are pin-compatible with the production chip, but contain a sophisticated observation and trigger logic as well as currently up to 2 MByte of emulation memory. A whole series of enhancements were also made here for the Aurix family. For example, two CPUs, two further units connected on the crossbar as well as the System Peripheral Bus (SPB) in the trace stream can be monitored in parallel. Programming of the Emulation Device logic can be comfortably carried out with the Universal Emulation Configurator (UEC) from PLS, because this offers a graphical configuration of measurement tasks based on the concept of signals/actions linked via a state machine.

Serial Trace Pod

The Universal Access Device 3+ allows the recording of real-time trace information up to 3.125 Gbit/s in serial trace.
  • Aurora trace connector (up to 4 lanes)
    • Samtec ERF8 HS33
    • Samtex ERF8 HS34
    • Additional custommer specific trace connectors
  • Trace memory up to 4 GByte available
  • Time-endless trace for a continuous tracing and observation
  • Variable time stamps possible, inserted by the trace board frontend
  • Separate Trace pod is connected to the UAD3+ by a Gigabit serial multi-lane cable up to 5 meters long (0.5m, 1m - default, 2m and 5m)
  • External Trigger Pins.

MCDS Instruction Trace MCDS Instruction Trace

The Multi Core Debug Solution (MCDS) integrated on the Emulation Extension Chip (EEC) of Infineons TC1796ED, TC1797ED and TC275T is a powerful trace and event generation module. This new full-featured emulator onsilicon opens a new age of debugging capabilities.It allows to observe and control the running system in a very purposeful way. Elaborated filter mechanisms and a high visibility to the system internals (cores and busses) are the key features of MCDS. To make use of them the MCDS has to be configured for each trace task using the Universal Emulation Configurator (UEC).

Universal Emulation Configurator (UEC) for TriCore Emulation Device

The Universal Emulation Configurator (UEC) is the hardware-independent tool to describe measuring tasks for on-chip emulators and is comparable with development environments for the hardware draft. With its assistance development engineers can also create configuration data for an on- chip emulator without large expenditure of time and this independently of the respective target hardware.
With the "Universal Emulation Configurator" the developer gets a top-notch configuration tool just right for demanding measuring tasks with on-chip emulators.

Major benefits of using the UEC are:

  • Functional description on basis of a state machine
  • Being independent from the respective target and emulator hardware
  • Fast and simple definition of complex measuring tasks
This is done by joining pre-defined subtasks from expandable libraries and defines parameters.

MCDS is supported by the TriCore family, including TC1766ED, TC1796ED, TC1767ED, TC1797ED, TC275T derivatives.

Universal Emulation Configurator 2 (UEC2) for XC2000 Emulation Device

The so-called emulation device XC2000ED with integrated on chip emulator is available for development and test purposes. Up to now only the Universal Emulation Configurator UEC2 from pls offers a complete support of this high-performance debug hardware. This is especially true for the integrated performance counter of the XC2000ED. With this unit, important data - such as instruction counter, interrupt acknowledges, stall and idle cycles and many more - can be recorded and analyzed for application optimization.

MCDS is supported by the XC2000ED family, including XC2080ED and XC2090ED.


On-chip Debug Support OCDS L2 Instruction Trace for TriCore

The OCDS L2 (On-chip Debug Support Level 2) unit of the TriCore derivatives supports the recording of a running program's trace. In combination with the JTAG OCDS L1 unit a comfortable watching of the program flows of the core, the PCP/PCP2 processor and the DMA processor in real-time are possible. UDE supports the OCDS unit by the Universal Access Device - Trace Board option.

60 Pin OCDS L2 High-speed Connector Pod

  • Proposed by Infineon to support connection to OCDS L2 port of TriCore 1.3 systems (TC11xx, TC17xx, TC19xx and future derivatives)
  • Connector system based on SAMTEC 60 pin highspeed connector QSH-030-01-F-D-A
  • Prepared to use for systems up to 180 MHz system clock
  • Supports 2,5V to 3,6V I/O ring voltage
OCDS L2 is supported by the TriCore TC1130, TC1161, TC1163, TC1166, TC1775, TC1762, TC1764, TC1766, TC1796, TC1920 and other derivatives.


MCDS and OCDS L2 Trace Feature Comparison

TriCore Microcontrollers

The following table gives an overview about the OCDS L2 and MCDS trace features of the Infineon TriCore microcontrollers.

Feature list MCDS MCDS OCDS L2
TriCore Derivatives TC1767ED, TC1797ED TC1796ED, TC1766ED TC1130, TC1161, TC1766, TC1796, ..
TriCore Instruction Pointer Trace ok ok ok
DMA Trace ok ok ok
PCP Instruction Pointer Trace ok ok ok
PCP Channel (Priority) Trace ok ok
Data Trace, Watch point Trace, Bus Trace ok ok
TriCore-PCP mixed Instruction Pointer Trace ok ok
Number of Ranges to be traced simultaneously 6 ranges for TC,
4 ranges for PCP
6 ranges for TC,
4 ranges for PCP
1 range
OCDSL1 Trigger Condition ok ok ok
Sequential Trigger Condition ok ok
Reference-Clock (USB-Clock) based Time Stamps ok(emulation clock or FlexRay clock) ok (emulation clock or USB clock)
Time based Trigger Condition ok ok
Tick based Time Stamps ok ok ok
Single shot Time Stamps for Time measurement ok ok
Stopping TriCore and/or PCP on Trigger Condition ok ok manual configuration
Emitting Signal on external Break pin on Trigger
ok manual configuration
Performance counters
ok

Connector 16-pin standard JTAG Connector 16-pin standard JTAG Connector 60-pin OCDS L2 Connector with Trace pod
UDE-Tool Ordering Code UDE-TC/UAD2 and UDE-TC UEC UDE-TC/UAD2 and UDE-TC UEC UDE-TC/UAD2+ and UDE-TC L2

XC2000 Microcontrollers

The following table gives an overview about the MCDS trace features of the Infineon XC2000 Emulation Device microcontrollers.

Feature list MCDS
XC2000ED Derivatives XC2080ED, XC2090ED
Instruction Pointer Trace
ok
Data Trace, Watch point Trace
ok
Number of instruction pointer ranges to be traced simultaneously
4 ranges
OCDSL1 Trigger Condition
ok
Sequential Trigger Condition
ok
Delta-comparators on read/written data
ok
Reference-Clock (USB-Clock) based Time Stamps
ok
(emulation clock)
Time based Trigger Condition
ok
Tick based Time Stamps
ok
Single shot Time Stamps for Time measurement
ok
Stopping XC2000 on Trigger Condition
ok
Emitting Signal on external Break pin on Trigger
ok
Performance counters
ok
Connector 16-pin standard JTAG Connector
UDE-Tool Ordering Code UDE-XC166/UAD2 and UDE-XC2000 UEC2


ETM Instruction Trace

The Embedded Trace Macrocell (ETM) of ARM derivatives is used to capture processor states in real-time using a dedicated connection to the derivative.

UDE supports ETM as 4 bit or 8 bit trace port up to 170 MHz system clock. The program and data trace allows to record up to 1 MSamples. By compiling the trace data directly via the trace hardware this sample rate complies with a multitude of machine code instructions. Each sample is able to contain eight additional external hardware signals. Recording is synchronous to the system clock frequency. This ensures the optimal use of the trace memory and allows application specific time stamps. Start and stop of recording is comfortably controlled via triggers. The total performance of the ETM unit is available for trigger events. The comfortable trace window included in the user interface offers a direct link to the user from trace samples to the related source code, monitoring the runtime of the program based on the time stamps and comprehensive search functions. UDE supports the ETM unit by the Universal Access Device - Trace Board option.

38 Pin ETM High-speed Connector Pod

  • Proposed by ARM to support connection to ETM port of ARM systems (LPC21xx and further ARM7, ARM9, ARM11, Cortex derivatives)
  • Connector system based on 38 pin high-speed connector AMP-MICTOR
  • Supports 2,5V to 3,6V I/O ring voltage
ETM is supported by the Philips LPC2xxx, AT91RM9200, STR910, Cortex-M3 derivatives and other derivatives.


ETB Instruction Trace

The Embedded Trace Buffer (ETB) extends the ETM unit of ARM derivatives by an embedded on-chip circular trace buffer. This simplifies the adaptation of external trace units because the high speed trace signaling does not need to transfer to the external unit. The trace buffer is managed and read via the JTAG communication channel.

ETB is supported by UDE with the Philips LPC3000 derivatives.


Nexus Instruction Trace

UDE supports program trace via the Nexus interface. This function is currently available - in combination with the Universal Access Device 2+ - for the Power Architecture® derivatives MPC55xx and MPC56xx from Freescale as well as SPC56xx from STMicroelectronics.

A 2-bit, 4-bit or, with the MCUs of the MPC55xx family, even 12-bit wide trace data port with up to 180 MHz clock frequency are supported, whereby up to 1 megasamples can be recorded. With a compression of the trace data direct by the trace hardware, this represents a multiple of machine commands. Moreover, every sample can contain eight additional external hardware signals. Recording of the samples takes place synchronously to the Nexus clock frequency. This enables an optimal use of the trace memory and application optimized timestamps.

Start and stop of the recording can be comfortably controlled via pre-trigger, mid-trigger, post-trigger or address-trigger. The trace window in the user interface offers the developer a direct link from the trace samples to the associated source code, the display of the program runtime on the basis of the timestamps as well as extensive search functions.


Triggered Transfers

The UDE TTF Recorder uses the Triggered Transfer feature of new Infineon microcontrollers. Triggered Transfer is part of the on-chip debug support implemented on these controllers. It allows transferring the value of a single memory location via the JTAG debug interface.

The transfer is triggered by a debug event of the onchip debug support (OCDS) unit. There are several types of debug events that can trigger the transfer depending on the actual type of controller. A typical use case provided by all supported controller types is to trigger on write accesses on a single variable and to transfer the new value of the variable.

The recording is done while the target system is in running state.


Trademarks: ARM, EmbeddedICE, Embedded Trace Macrocell are trademarks of ARM Limited. TriCore is a trademark of Infineon Technologies.
 

Events

Freescale TecDays 2013
Tool package for Kinetis (Cortex-M4), Embedded Linux Kernel and Application Debugging, Eclipse based development platform for Qorivva microcontrollers MPC56xx/MPC57xx

Read more ...

Crash Courses and Training
Multicore Debug Solution, MCDS, Architectures, UDE

Read more ...


News

Hercules™ security
MCU platform
TMS570LS and RM4x
from Texas
Instruments now
supported by UDE
Read more...
 
Optimized debugging
solution for
the new
ARM® Cortex™- M0
core-based XMC1000
family of Infineon
Read more...
 
Universal Debug
Engine 4.0
sets
new standards in
the development
of multicore targets
Read more...
 

New Universal
Access Devcie 2pro

(UAD2pro) enables
also strong electrically
isolated connections
to the target

Read more...
 

First optimized
test and debug
solution for the
new AURIX™
32-bit multi-
core MCUs
from Infineon

Read more...
 

Proven debug
solution for new
multicore auto-
motive micro-
controllers:
MPC57xx (Freescale)
and SPC57x (STM)

Read more...
 

Optimized debug
tools for the
new XMC4000
microcontroller
family
of Infineon
available now

Read more...
 

Complete debug
solution for the
Development
Device of the
new TriCore
Multicore
Architecture

Read more...
 
Optimized tools
for the new
TC1791, TC1793
and TC1798
AUDO MAX
microcontrollers
Read more...
 
netX controllers
and rcX RTOS
from Hilscher
now supported by UDE
Read more...
 
Dual-core debugging
of NXP's LPC4300
under the single user
interface of UDE
Read more...
 

Kinetis MCUs
from Freescale
based on Cortex-
M4 core supported
by UDE

Read more...
 

Complete new
toolchain for
Power Architecture
SoCs
from
STMicroelectronics
and Freescale
based on Eclipse,
GNU and
Universal Debug Engine

Read more...
 
UAD3+ sets new standards in the field of high-end trace and multi-core / multi-target debugging
Read more...