feature article
Subscribe Now

Visualizing Real-Time Issues

Swedish Company Gives Developers Better Insight

I had planned this piece some months ago, but suddenly it has become tied into a major breaking news story.

In the last ten or so years, the RTOS (Real-Time Operating System) has moved from being a relatively rare beast to becoming almost commonplace, as applications, particularly those built as embedded systems, have demanded communication and, particularly in the Internet of Things (IoT), have added sensing. To manage the complexities of such a system, the developer divides all the software running on the system into tasks: small blocks of code that include functions like managing the human machine interface, control, and communication. The key to success lies in understanding which task is to be run when. To help the RTOS make the decision, developers assign priorities to each task. At set intervals, the RTOS checks the tasks that are ready to run and runs the one with the highest priority – and, according to rules of priority, manages them. This multitasking makes it look as though the tasks are running independently and concurrently. Neat, but one can instantly see the opportunities for problems. Some tasks with low priorities may never get to run, and, if there are several tasks with high priority, which one should be executed? Tasks are not independent; one task may require input from another, or need to provide output to a third. They may need to share things, like a communication channel, or even areas of memory – and, in some cases, access may be blocked for a higher priority task by a lower priority one.

Such issues, and others, may cause the system to slow down, to produce incorrect results, or to crash. Finding out what is causing these problems is difficult, and this is why Percepio, a Swedish-based company, created Tracealyzer, which they describe as a trace visualisation tool. There are tools that take trace information from an executing system to discover how it is running and what problems it is encountering. Where Tracealyzer scores is that it provides over 25 different and interconnected graphical views of that information, which expose the run-time behaviour at system or application level. The developer can manipulate these views to understand the issues that the system is experiencing far faster than grappling with a simple trace report.

Tracealyzer is developed for 32-bit hardware, and it installs monitoring software on the target system for instrumentation, which the company claims offers minimal overhead. The information can be streamed over a JTAG or other debug probes, but it can also be accessed through a USB port or by TCP/IP for FreeRTOS, Micrium, and SafeRTOS systems, with others in development. There is a long list of current targets, including many processors based on Arm Cortex families as well as Renesas, Microchip, and Atmel families.

Supported RTOSs include FreeRTOS, SafeRTOS, Micrium µC/OS, ThreadX, Keil RTX5 and VxWorks. While Tracealyzer explicitly supports Eclipse-based IDEs and market leaders such as IAR Embedded Workbench, Keil µVision (MDK), Atmel Studio, and Microchip MPLAB X IDE, it can also be used with any IDE that allows you to save RAM contents to a host-side file.
Percepio say that, while Tracealyzer is primarily intended for use in development, it can also find a role when deployed systems have problems, and the company has customers who ship products with tracing enabled and have used it to resolve problems arising in the field.

The web site, Percepio.com, has a mass of supporting material, including white papers, tutorials and case studies, and it is perhaps one of the best I have seen for such support. You can also download a version for evaluation, which comes with demo trace for a wide range of visualisations.

Now the news angle.

Firstly, and a bit on the nerd news angle, is the announcement that Percepio and UltraSOC have announced a partnership. UltraSOC is a Cambridge, England based IP company supplying a monitoring and analytics platform for integration into complex ICs, including processors, ASICs and SOCs. Since I last wrote about them two years ago, UltraSOC has struck deals with a wide range of companies, including Arm, Imagination (plus a separate deal with MIPS), and Microsemi, and they are very active in the RISC V community. The IP, which puts little overhead on the chip’s real estate and its footprint, provides information to assist in development, debug, and optimisation of a device. By integrating this with Tracealyzer, the developer no longer has to mediate between the hardware team and the software team when each blames the other for a problem.

An announcement with potentially much wider implications came from Amazon Web Services (AWS). AWS made a series of major announcements at its annual conference in November. One of them was the launch of Amazon FreeRTOS. This is a new release (v10) of the existing FreeRTOS, with added libraries. Now, why is Amazon pushing an RTOS? Simple really – AWS is the dominant player in the public cloud business – with close to 80% of the market, according to Gartner. Despite the concentration on the “Things” at the periphery, a vital part of the IoT is the central data storage and analysis, and, in most cases, this is from resources rented from the public cloud providers. (Interestingly, IBM’s approach to the IoT is “Use Watson” – which is described as an AI platform.) AWS has a huge number of offerings for the IoT, including AI at the edge, and analytics, machine learning, etc. in the cloud. Clearly AWS want to make it easy for their users to design the edge devices, since, as well as announcing the Amazon FreeRTOS, they also announced that they are creating an ecosystem with the initial partners: Arm, Percepio IAR Systems (an embedded tools supplier) and Wittenstein high integrity systems, which offers the commercial versions of FreeRTOS, OpenRTOS, and SafeRTOS. SafeRTOS is a safety-certified version, being pre-certified to IEC 61508-3 SIL 3 and ISO 26262 ASIL D.

I would, as European editor, be remiss in not pointing out that all of these companies, plus UltraSOC, are based in Europe, even if Arm is no longer European owned.

One of the exciting things about writing about technology is seeing how, as things get more complicated, talented people come up with the tools to help manage that complexity. Tracealyzer is just such a tool.

featured blogs
Dec 19, 2024
Explore Concurrent Multiprotocol and examine the distinctions between CMP single channel, CMP with concurrent listening, and CMP with BLE Dynamic Multiprotocol....
Dec 20, 2024
Do you think the proton is formed from three quarks? Think again. It may be made from five, two of which are heavier than the proton itself!...

featured video

Introducing FPGAi – Innovations Unlocked by AI-enabled FPGAs

Sponsored by Intel

Altera Innovators Day presentation by Ilya Ganusov showing the advantages of FPGAs for implementing AI-based Systems. See additional videos on AI and other Altera Innovators Day in Altera’s YouTube channel playlists.

Learn more about FPGAs for Artificial Intelligence here

featured chalk talk

Advances in Solar Energy and Battery Technology
Sponsored by Mouser Electronics and onsemi
Passive components will play an important part in the next generation of solar and energy storage systems. In this episode of Chalk Talk, Amelia Dalton, Prasad Paruchuri from onsemi, Walter Fusto from Würth Elektronik explore trends, challenges and solutions in solar and energy storage systems. They also examine EMI considerations for energy storage systems, the benefits that battery management systems bring to these kinds of designs and how passive components can make all the difference in solar and energy storage systems.
Aug 13, 2024
54,624 views