Please enable JavaScript to view this site.

winIDEA Help

Version: 9.21.200

Trace Technologies

To record trace, iSYSTEM tools need access to the information about the CPU activity.


What is trace?

See Video Tutorial - What is trace?

On-chip trace module can observe all CPU activities. It implements its own trigger and qualifier logic. In addition to that, the trace data is compressed to reduce the bandwidth and thus the number of pins dedicated to trace. The timing information is not compressed together with the trace data. Timestamps can either be additionally generated by the CPU or the trace tool. This, however, limits the timing accuracy, as we no longer know the exact time at which e.g. an instruction was executed, but rather when the trace message (compressed block of trace data) was received.


Once the compressed data package is ready, it can be either:

Streamed through a Trace Port

Stored internally in an On-Chip Trace Buffer


Different CPU architectures feature several different OCT modules, which are capable of producing the trace data. Please refer to separate documentation for more details on the capabilities of these OCT modules:

Cortex (ETM, DWT, ITM...)

PowerPC (Nexus L2+, Nexus L3+...)


Trace features, such as tracing the program execution, data accesses, instrumentation messages and various other capabilities depend on the OCT module present on the CPU.



What if my CPU does not support trace?

Many CPUs do not have any trace capabilities (no Trace Port or On-Chip Trace Buffer, as these make the device more expensive). In such cases iSYSTEM offers several solutions:


Emulation Adapters - Available for some architectures, which features a bigger CPU package (this is only possible when such bigger, super-set device is available). iSYSTEM tools connect directly to the emulation adapter, and emulation adapter is connected to the target hardware through the pin count conversion board (which is the same format as the smaller MCU package). In some cases the bigger CPU package might already have the trace capabilities, which you can use directly.

Sampling - With this approach you can periodically sample variables (data variables or program execution) via a debug port. Concept of Profiler Sampling is mainly used for statistical analysis or for sampling rather slowly changing variables, and cyclic program execution.

Software trace - Some CPUs (e.g. RH850) support special instructions, which generate messages on the debug port. The application must be instrumented to generate these messages and the trace method is therefore called Software trace.

Slow Run - Method in which the application is executed by stepping through the application. This method does not support real time execution (and even disables the interrupts while the application is being run). This means it is not appropriate for system testing, but can be used to measure statement coverage on small scale (e.g. during unit testing).



More resources

Webinar Introduction to Tracing

Application Note Introduction to AUTOSAR Classic Profiling

Technical Note PCB Design Guidelines


Copyright© TASKING Germany GmbH