Lauterbach has announced that Hypervisor trace capability is now available for Arm Cortex-A and NXP QorIQ. Hypervisor tracing, which also means multicore tracing, requires high bandwidths from the off-chip tracing interface. The TRACE32 debug tool can now be used to trace all components in a Hypervisor based embedded system, as well as debug them.
A Hypervisor is a low-level piece of code, or operating system that allows multiple ‘guest’ operating systems to run on a single piece of physical hardware. Each guest operating system is partitioned and is unaware of the existence of the Hypervisor or the other guest operating systems which share the system with it. Hypervisors are increasingly used in embedded systems, for example in the cockpit of a car: applications that are under the control of an AUTOSAR real-time operating system run in parallel to the infotainment managed by a rich OS such as Linux.
Program flow and data trace are very important items in the embedded engineer’s toolbox. They allow a developer to see the path that has been taken through the code and to step backwards from an error or exception to see the root cause. Tracing from multiple cores allows a developer to easily see the interaction between software executing on disparate processors and readily identify bottlenecks, logic bombs or other errors that may only show up at runtime. Trace filters at task or virtual machine level allow developers to reduce the amount of trace generation to show only areas of interest in the system.
Program flow trace can be timestamped, allowing a picture of how long or how frequently something is executed to be built up. From this data it is also possible to determine code coverage metrics to satisfy the demands of safety certification for embedded systems.
Lauterbach | www.lauterbach.com