We are really excited to finally release Tracealyzer for FreeRTOS version 3.1, our largest update in over a year!
Most of the effort has gone into the new trace recorder library, that now provides both snapshot and streaming trace in a single module with just three .c files. It has an improved common API for both snapshot and streaming modes, along with updated documentation. Custom streaming is now easier to setup with the new concept of “stream ports” and a new stream port has been added for USB CDC connections. The example is for STM32, but can easily be modified for other processors. Moreover, it is now also possible to start and stop the streaming from the target system, allowing for trace streaming to a device file system, eliminating the need for a target-host connection to Tracealyzer. For a more detailed list of recorder changes, see readme.txt.
The Tracealyzer host application has also been improved in several ways, like the ability to receive trace streams via COM ports, i.e, for USB CDC or other serial connections. Moreover, there is now support for finding memory leaks in systems using dynamic memory allocation. In the memory events view (1) you can now filter out all matching malloc/free events, leaving only “remaining” allocations. You can click on those to see the corresponding locations in the memory utilization graph (2) or in the main trace view (3).
An updated version for Micrium µC/OS will follow in early 2017.
Västerås, Sweden, 5th December 2016 * * * Percepio AB, the Swedish developer of RTOS visualization tools, today announced Tracealyzer version 3.1. The improved tool adds support for trace streaming over USB, provides detection of dynamic memory leaks, and includes many other updates to get up and running even quicker.
The trace recorder library is now easier to configure for streaming over custom interfaces, and includes support for USB streaming on STM32 (easily adapted for other MCUs). USB offers excellent performance for RTOS tracing and over 600 KB/s has been measured on an STM32 using USB 2, several times more than required. Other stream ports include TCP/IP (example for lwIP) and SEGGER J-Link debug probes. Tracealyzer 3.1 can also receive trace streams via Windows COM ports, e.g. from USB CDC connections, UART connections or any virtual COM port provided by other target interfaces.
Tracealyzer v3.1 has also been extended to identify memory leaks in systems that use dynamic memory allocation. It can record memory allocation events (e.g. malloc, free) from multiple operating systems, and can now display such allocations that have not been released. Since the memory allocation events are linked to the task trace, the user can quickly find the context of the allocation and investigate the problem.
The recorder library has been improved significantly to simplify integration and now provides a common API for both streaming and snapshot recording that makes it easier to get started with snapshot recording and then switch to streaming, or vice versa.
According to Percepio founder and CEO Dr. Johan Kraft, “Tracealyzer v3.1 is the first RTOS trace tool to support RTOS trace using just a standard USB cable, allowing you to use any debug probe in parallel. We are very satisfied with the improved recorder library, a major feature that not only makes it easier to get started, but also lays a solid foundation for vast improvements of the analysis capabilities in Tracealyzer during 2017.”
“Before Percepio, developers were in the dark and could only guess at what their software was actually doing. With Percepio Tracealyzer, the veil has been lifted and now we can see exactly what the software is doing which has resulted in dramatic improvements in quality,” said Jacob Beningo, President and Founder of Beningo Embedded Group
Download and explore Tracealyzer for yourself!
If you have a Professional Edition license for Tracealyzer for FreeRTOS version 3.x and an active Maintenance and Support agreement, this is a free upgrade. Just download and install! The Free Edition has also been updated and no longer requires registration to use.