Debugging and tracing for 32-bit MCUs without trace capabilities
iSYSTEM, Schwabhausen near Munich, introduces an Infineon AURIX™ TC377TE Emulation Adapter. This new adapter provides full debug and trace capabilities for Infineon’s 32-bit AURIX™ TriCore™ microcontrollers TC333, TC334 and TC364, which either do not offer a trace port or lack full trace capability. This helps embedded software developers to unburden their application from the most difficult code defects and timing issues – even when the target MCU is not yet at hand.
Tracing is a debug technology used by embedded developers to record microcontroller activity in real time. It provides a non-intrusive, deep insight into the embedded software without influencing real-time application behavior. This helps developers to debug their applications from the the most difficult code defects and to perform advanced timing analysis, measuring code coverage and the CPU load. However, not all MCUs have trace capabilities – this is where an emulation adapter offers a real added value.
To use iSYSTEM’s Infineon AURIX™ TC377TE Emulation Adapter, the developer simply swaps it with the original microcontroller on the board. The adapter offers the same core features as the MCU but comes with additional trace ports which provide detailed insight into the execution over time including timeline information.
The emulation adapter can even be used for standalone operation, which means a huge benefit for developers whose target hardware is not yet available, e.g., because it is still in development, or manufacturing, or on a colleague’s desk. The emulation adapter can simply be used for development instead.
With the Infineon AURIX™ TC377TE Emulation Adapter developers can speed up the development on TC333, TC334 and TC364 devices. A conversion board which comes with the emulation adapter, serves as an adjustment for the different packages of the original microcontroller. iSYSTEM’s emulation adapter supports DAP (Device Access Port), DAPE (additional DAP) and Aurora Gigabit Trace (AGBT) debug and trace interfaces.
“We are currently working on a second type of this emulation adapter to support even more Infineon AURIX™ TC3x devices, e.g., TC337LP, TC367DP, TC377TP, and more”, said Erol Simsek, CEO of iSYSTEM. “For this we have created the world’s first 292BGA-to-292BGA emulation adapter – which allows for even deeper testing and development of embedded software.”
The Infineon AURIX™ TC377TE Emulation Adapter is available via https://www.isystem.com.
Further Links and Resources
- Infineon AURIX™ TC377TE Emulation Adapter User manual: https://www.isystem.com/files/content/downloads/documents/hardware-reference-manuals/IEA-TC377TE.pdf
- All available iSYSTEM emulation adapters: https://www.isystem.com/products/hardware/emulation-debug-adapters/emulation-adapters.html
- Start tracing with iSYSTEM tools tutorial: https://www.isystem.com/support/tutorials/start-tracing-with-isystem-tools.html
- Introduction to Tracing video: https://www.youtube.com/watch?v=EyZtnIOOhe4
There are three fundamental concepts for timing analysis: First a purely statistical analysis based on sampling certain objects within the software. Second, you could do some measurement, either on-chip or off-chip. Off-chip would, for instance, be that you toggle a pin and measure the timing with an oscilloscope. On-chip measurement can either be performed via core performance counters within the chip or also by using some generic counters. But in any case, this approach requires an instrumentation of the code, meaning dedicated software needs to be added to the actual software to be analyzed to control this measurement hardware. But at least this approach yields exact and reliable results.
The third approach is based on Trace. Trace-based Timing Analysis provides the maximum of information and analysis options. The unique thing about Trace is that it allows an exact reconstruction of sequences of various events over time. From this information you can derive a complete set to timing metrics, you can analysis CPU load over time, analyze event-chains and function call sequences. So, it provides a full insight into time-related software execution.