Tracing tool simplifies software testing and debugging of autom...

Blog

HomeHome / Blog / Tracing tool simplifies software testing and debugging of autom...

Oct 04, 2023

Tracing tool simplifies software testing and debugging of autom...

Tracing is an essential debug method for investigating errors, timing problems

Tracing is an essential debug method for investigating errors, timing problems or identifying bottlenecks in embedded applications, especially when the runtime behavior of the application under investigation must not be affected during debugging. For efficient use of trace, however, the trace system of the microcontroller used must first be configured accordingly. As a rule, this is not at all easy. The procedure can be very time-consuming and often requires a deeper knowledge of the trace system of the respective SoC.

The UDE SimplyTrace feature simplifies this process by taking trace functions from typical use cases and attaching them to the various debugger views in a context-sensitive manner. For example, trace recording can be configured directly from the source code window for the "Trace from source code line" or "Trace to source code line" use cases. This is as simple as setting a breakpoint. In addition, the trace configuration created with the UDE SimplyTrace features can also be subsequently customized and extended using the regular UDE configuration tools.

The implementation of the feature is based on an increasing abstraction over different layers. The lowest layer comprises the functions of the on-chip trace components, while the top layer reflects the software developer's use cases. This approach allows easy extension with respect to both new trace architectures and additional use cases.

The initial UDE SimplyTrace implementation initially provides the commonly used program trace functions as well as basic data trace use cases such as observing data accesses to variables. Additional use cases, such as data trace of register accesses or simplified task trace for real-time operating systems, are under development.

Experienced developers who are already familiar with the trace functions provided by the respective microcontrollers can use the trace configurations created with UDE SimplyTrace as a template and edit them using the regular configuration tools in UDE, such as the Universal Emulation Configurator (UEC). This allows the user to customize or extend the trace task if the specific requirements go beyond the typical use cases.

The novel approach to simple trace usage works independently of the microcontroller used. Since the user has no contact whatsoever with the special adaptations of the UDE SimplyTrace functions to the respective trace system used, the respective training effort is extremely low, but the learning curve is steep. As a result, UDE SimplyTrace can be used to enormously simplify and accelerate the software testing, runtime analysis and system optimization phases.

With UDE 2023, the UDE SimplyTrace functions are now available for the microcontroller devices of Infineon's Aurix family, for Arm Cortex MCUs with the corresponding CoreSight debug and trace system, and for PowerArchitecture-based devices with Nexus Class 3 trace support.

https://www.pls-mc.com