Atollic’s latest release of the TrueSTUDIO integrated development environment incorporates a number of new features. The TrueSTUDIO v4.1 aims to further assist embedded developers win writing code and a significant feature added to TrueSTUDIO v4.1 includes the ability to record and display instruction trace data. Other features include the addition of automatic software unit testing within the optional TrueVERIFIER add-module, and a test case debugger within the optional TrueANALYZER add-on module.
The new instruction tracing function records the execution flow in real-time for later analysis meaning, that should an error occur, it is now possible to interrogate the trace logs and ascertain exactly what the processor was doing before a software error occurred. TrueSTUDIO v4.1 support ETM tracing using a Segger J-Trace JTAG probe, and ETB tracing for compatible ARM Cortex devices using any of the supported JTAG probes, such as the Segger J-Link. The recorded instruction trace log can be displayed in either C mode, mixed C and assembler mode, as well as in pure assembler mode. The trace log has graphical annotations on execution branches, and can be exported to a file for offline analysis.
The optional TrueVERIFIER module now has an automatic software testing function that can check return codes and affected global variables for each C function in the project. By examining your source code, TrueVERIFIER can automatically generate a test suite that is compiled, downloaded and executed on the target board automatically. On completion the test results and measured test quality data is transferred and visualized within the TrueSTUDIO IDE. The test engine and user interface have also been updated within this new release. In addition, and suiting test driven development, TrueVERIFIER can also support a test scenario mode, where more complex test scenarios can be designed, thus testing many C functions as a group in a real use-case, rather than just testing each C function on its own.
Featuring a new test case debugger, the optional TrueANALYZER module measures the quality of your system tests by analyzing the execution flow when your test procedures exercise the software as it runs in the target board. In addition to measuring the test quality, TrueANALYZER can now visualize where the test procedures do not achieve high test coverage and why. New views within the IDE list branch decision details of each C function along with coverage information for each condition within the branch decisions. The MC/DC truth table is also displayed for all complex branch decisions allowing visualization of combinations of conditions that are not fulfilled. TrueANALYZER supports the basic statement coverage, function coverage and function call coverage, as well as the rigorous Branch coverage and MC/DC coverage. Unlike code coverage solutions that are built on top of instruction tracing and use a limited buffer size, TrueANALYZER provides an approach that enables test cases of unlimited execution time (hours or days rather than seconds or fractions of seconds).
Other improvements to TrueSTUDIO includes an updated kernel aware RTOS debugging function that now supports the Quadros RTXC and the TOPPERS µITRON RTOS. With this feature, RTOS-based applications can be developed with complete confidence since the internal state of RTOS objects such as tasks, semaphores, queues and mailboxes can be displayed in the debugger.