At Embedded Conference Scandinavia, in November 2014, Percepio founder Dr. Johan Kraft presented a pilot project on integrating our tracing technology with Emul8, a system simulator providing virtual hardware platforms for embedded systems development. See the presentation (.pdf)
Using a system simulator as a virtual hardware platform has several benefits for embedded software developers. Since you don’t need physical hardware, the developers can have several virtual test platforms in their PCs, also for multi-core or distributed systems. Full system testing can be automated to a much larger extent, as system inputs can be scripted. Moreover, system simulators give better possibilities for debugging the software. Every detail of the simulated system state can be inspected; both hardware and software state, and the system state can be saved and restored in order to repeat a particular scenario. System simulators also provide much better possibilities for tracing the software, in order to analyze the overall runtime behavior. Since a simulation can be monitored without affecting the simulation result, it is possible to combine the benefits of hardware-based and software-based tracing without the individual drawbacks of the respective method.
We present a demonstrator integration of the system simulator Emul8, developed by the Emul8 consortium consisting of Antmicro Ltd and Realtime Embedded AB, and Tracealyzer, developed by Percepio AB. In this project, Emul8 has been extended to trace FreeRTOS events for display in Percepio Tracealyzer. This is demonstrated using a distributed system consisting of five MCUs running an RTOS. This system has been physically implemented by the Emul8 consortium and the same binaries can also be simulated by Emul8. The Emul8/Tracealyzer demonstrator allows Emul8 users to visualize and analyze Emul8’s execution of RTOS tasks and interrupts, as well as kernel calls and custom events in the application code. Moreover, Tracealyzer displays the traces from all five MCUs on a common timeline.