Evaluating Linux System Performance Using Tracealyzer
When developing an application that’s targeting a Linux-based system, it is important to configure our system to maximize performance, because misconfiguration can limit application performance.
When developing an application that’s targeting a Linux-based system, it is important to configure our system to maximize performance, because misconfiguration can limit application performance.
FreeRTOS, an ST microprocessor and Tracealyzer are some of the building blocks for this rocket, built by Swiss students and named after the equally Swiss mathematician Euler.
Today we have released Tracealyzer version 4.4 with new support for tracing and diagnosing embedded Linux systems.
Today's post dives into a key component of a Linux device driver, the interrupt handler, and shows how Tracealyzer can give you feedback on the performance of your handler.
While there are mechanisms native to the Linux kernel to ensure that the functionality of a custom-written driver is correct, evaluating performance is not straightforward. Here's how you can use Tracealyzer for Linux to assess the performance and identify any deficiencies.
The French IGOSat project uses Tracealyzer to evaluate design decisions and debug onboard software, as the launch draws near. Percepio supports them with free academic licenses.
The goal was to minimize transmitted radio frequency distortions, under tight real-time deadlines. Using Tracealyzer, RFI Technology Solutions could evaluate various solutions before committing themselves.
It could take our customer days to locate and fix a memory leak, but when they deployed Tracealyzer the same bug hunt was completed in a matter of hours.
Today at Embedded World 2020, Percepio announces Tracealyzer version 4.4 with new support for embedded Linux systems.
At Embedded World in Germany next week, Percepio will release DevAlert 1.0, the new name for the product we've talked about as Device Firmware Monitor during development and beta testing.
Check out this video interview and demo given by Percepio CEO and founder Dr. Johan Kraft, interviewed by Brandon Lewis from Embedded Computing Design.
At this year's Embedded World trade show, Percepio will show an updated Tracealyzer for embedded Linux, and also release Percepio DevAlert 1.0.
Walter Banks, an important figure in our embedded industry, died earlier this week. He was the founder of Byte Craft, a company that made C compilers for many earl 8-bit MCUs.
This week we released version 4.3.6 of Tracealyzer, a maintenance and bugfix release – we fixed about 50 minor issues in this one.
Developing with an RTOS can make it easier to design complex applications, but while an RTOS reduces the complexity of the application source code, it does not reduce the inherent complexity of the application itself.
Sometimes you need to step away from the daily grind and set aside time to study the patterns and structures that make up an embedded application. To meet that need, Percepio now offers two online courses in embedded development with a real-time operating system.
We have had a few customers asking us if they can use Tracealyzer to detect when a task holds two mutexes at the same time. The answer is yes, there are in fact several ways you can do this.
Together with our partner Renesas, we made a demo video of Percepio Device Firmware Monitor running on a Renesas AE-Cloud2 developer kit. The demonstration, which walks you through both Tracealyzer and DFM, is available as a free on-demand webinar from Renesas.
Over time, Percepio has built up a collection of Tracealyzer example projects and today we are releasing them to the public.
A clear indication that you may have a deadlock problem is when multiple tasks suddenly stop executing, although no higher priority tasks are running.
The central idea underlying an RTOS with a fixed-priority scheduler is that a high-priority task should be scheduled ahead of one with lower priority. Yet, as a developer you have to watch out for programming pitfalls that can result in inverted priorities.
When you have a task in your system that is supposed to execute at regular intervals, say for instance that it needs to read a sensor value every 5 milliseconds, then you have a system that is sensitive to random delays – also known as .jitter.
In embedded systems using multitasking, you may run into a situation where some of your tasks run slowly or not at all. This is called task starvation (the affected tasks are starved of CPU time) and it can happen for a number of reasons.
There is no doubt a learning curve when you begin using a real-time operating system (RTOS) in your development. Timing, scheduling et cetera will affect your code in ways that are not directly visible in the source code.
Richard Barry, the founder of FreeRTOS, gave a presentation on the future of FreeRTOS earlier this spring. He followed FreeRTOS to Amazon Web Services where he still oversees the project, and he could confirm that it is one healthy open source product.
Percepio sponsors several Student Racing Car teams with Tracealyzer licenses, mostly in Europe but today we present our first North American team: Purdue Electric Racing.
The Argentinian Air Force has developed a microsatellite, called µSAT-3. And Tracealyzer plays a small but important part in this national satellite project.
Percepio is looking for a customer-facing engineer with solid skills in embedded software development. The main responsibility of this position is technical support, mainly pre-sales support.
Last week Percepio released Tracealyzer version 4.3 with many new features, such as a state machine detail view, stack usage analysis and data export. You will also see major performance improvement when working with very large traces.
In this post we are going to dive deeper into Device Firmware Monitor and explain what it takes to set it up and how it can be used in a typical IoT application.
Are you using Tracealyzer today but find yourself wishing that we should have added that special missing feature? We hear you: over the next few months we are going to enable embedded and IoT developers to do many things themselves, without having to wait for new releases of Tracealyzer.
One of the many free academic licenses for Tracealyzer that Percepio has handed out this year went to Charles Sommer, research engineer on the AAReST project at Caltech in Pasadena, California. AAReST aims to construct a telescope that can be sent up in space in pieces and then assemble itself in orbit.
We have good news for the growing crowd of embedded Linux developers: the next step on the Tracealyzer 4 roadmap is proper support for Linux tracing, complete with live visualization and many other great features.
Computer scientist Edsger Dijkstra once said, “Program testing can be used to show the presence of bugs, but never to show their absence”. No matter how much developers test their software, they just cannot prove that there are no bugs left.
We are ready to face another day meeting current and would-be customers. Oh – and we have a free T-shirt bonanza all day (as long as supplies last).
On Tuesday, FreeRTOS founder Richard Barry spoke to a packed room here at Embedded World about the future of Amazon FreeRTOS.
Our partner UltraSoc is demonstrating their new IDE UltraDevelop 2 in their booth, 3A-540, for the first time. The IDE is now available for beta testing.
Percepio Device Firmware Monitor has been awarded Best in Show at Embedded World 2019, in the Development Tools category.
In a previous post on the AWS Partner blog, Percepio CEO Johan Kraft showed how to get started with AWS IoT Core and Amazon FreeRTOS on the NXP OM40007 IoT kit using Percepio Tracealyzer for debugging support. This week, Johan is back with a follow-up, How to Solve Tricky Embedded IoT Challenges with Insightful Analysis, where [...]
Users of Express Logic ThreadX can now upgrade to Tracealyzer 4 and benefit from many of the new features we have been adding to the product over the last year.
Percepio has announced Percepio Device Firmware Monitor (DFM), a ground-breaking new cloud service for IoT product organizations that provides awareness of missed bugs and speeds up resolution.
Percepio sponsors several Formula Student Racing Car teams with Tracealyzer licenses. Today, we meet the High Speed team from Karlsruhe who specialises in building combustion engine cars.
Percepio sponsor several Formula Student Racing Car teams with Tracealyzer licenses. Today, we have caught up with team Revolve from Trondheim, Norway, to hear about their thoughts, and their experiences with Tracealyzer.
Percepio sponsor several Formula Student Racing Car teams with Tracealyzer licenses. We caught up with three of them and thought we'd share their thoughts, and their experiences with Tracealyzer. Here is the first team. Running Snail from Germany.
Within Tracealyzer's trace view, tasks, events and state machines are now organized into view fields, collections of tasks, intervals or events. In this post, we are going to examine how you can use those views to simplify working with Tracealyzer.
By default, the Tracealyzer Recorder Library allows for tracing two kinds of information: (1) RTOS kernel events such as context-switches and RTOS API calls, and (2) User Events in the application code, such as debug logging, state changes and variable values. With the release of Tracealyzer 4.2.9 we added a third way to trace [...]
Just in time for the winter break, we have released Tracealyzer 4.2.9 with some new improvements and bug fixes. Better support for large systems with many actors (tasks and ISRs), as the trace view can now hide inactive actors automatically. Tracealyzer will ask about enabling this feature if there are too many actors to fit [...]
On December 6, Percepio released version 4.2.8 of Tracealyzer, with support for Wind River VxWorks. VxWorks users can now take advantage of the new features in Tracealyzer 4, the largest update ever to our flagship application.
If you've been thinking of purchasing Tracealyzer, now is a good time to place that order. If you order your Tracealyzer license before midnight 31 December we will include an end-of-year bonus: two years of free support and updates at no extra charge, rather than the customary one year.
In this post, we visualise the custom interval and state machine information available in Tracealyzer and explore how we can use it to better understand our application.
Tiny sensor devices are key elements in IoT systems, and they need to be as energy efficient as possible. Roberto Rodriguez-Zurrunero has successfully used Tracealyzer in his research to both minimise energy consumption and fine-tune timing.
Xilinx development kit ZC702 features a Zynq 7000 programmable SoC, lots of RAM and on-board I/O connectors ranging from HDMI to Gigabit Ethernet and USB. We set out to build a Tracealyzer demo application for this board, based on FreeRTOS and lwIP, with live trace streaming over Ethernet. During this work we discovered an interesting issue [...]
In the previous Hands On post we introduced the concept of intervals, which is the time between any two events and can be added to the timeline. In this post, we will take the interval one step further and see how we can use Tracealyzer to monitor state machines.
Computer vision has become a core feature for all sorts of embedded systems. Therefore we have developed Tracealyzer for OpenVX, the world's first trace profiler for OpenVX and Embedded Vision/AI processors, in collaboration with Synopsys.
What if you want to visualize some application data in Tracealyzer, measure the time between two events or monitor a state machine? In this post, we will show how you can set up this kind of custom logging.
Percepio has just released Tracealyzer 4 for one more RTOS platform: On Time RTOS-32. We build upon the tracing library included in RTOS-32, which enables users to trace kernel operations such as scheduling, task communication and interrupts. If you use Tracealyzer with RTOS-32 today, contact your nearest distributor or drop a mail to sales@percepio.com to [...]
Good news! We have now updated both the Eclipse plugin and the Atmel Studio 7 plugin for Tracealyzer 4, making it even easier to analyze and debug RTOS-based software using Tracealyzer. The Eclipse plugin works with most Eclipse-based IDEs for Arm-based MCUs, such as Atollic TrueStudio, MCUXpresso, Simplicity Studio, etc. Both plugins support snapshot tracing of FreeRTOS, [...]
The Tracealyzer recorder for FreeRTOS, SafeRTOS or Micrium µC/OS can be configured to stream the trace data via any interface you might have available. If you have designed your own custom stream port but are having problems getting a reliable transfer or sufficient throughput, there are several things you can try.
This fall, a team of dedicated students at NTNU in Trondheim, Norway, sets out to construct a driverless electric car. It is the eighth iteration of the school’s Revolve project and the first one that Percepio sponsors.
Have you ever seen your embedded system behave strangely and had that sinking feeling that you might have a memory leak? Tracealyzer offers several different methods to detect memory leaks.
The cool thing about studying in Kiruna, Sweden's northernmost city, is that you may get to blast stuff into space on a rocket. The city is home to Esrange, a vast commercial and research rocket range, and the local technical university takes advantage of that with a menu of suitable courses, with names like "Spacecraft [...]
Quite a few embedded software developers don’t know whether their applications meet their timing requirements. In today's Tracealyzer Hands On post, we will explore how to use Tracealyzer to verify task timing and scheduling.
India, Norway, France … there has been a flurry of interest around Percepio’s free academic Tracealyzer licenses lately. End of summer and beginning of the fall semester probably plays a role here, as does our announcement a few weeks ago. One of the free licenses was awarded to Anil Joseph, student at the Birla Institute [...]
Tracealyzer version 4.2 features a completely rewritten main trace view, and adds support for, among other things, Wittenstein SafeRTOS and tracing via ST-LINK debug probes. It also runs on Linux, so embedded developers using Linux hosts are now able to upgrade to the new generation of Tracealyzer.
One of the biggest problems in embedded development today is understanding what a software stack or demo that you didn’t write is doing. In this post, we’ll examine how we can find this out using the Tracealyzer communication flow diagram.
Percepio has its roots in academia, Mälardalens Högskola in Västerås, Sweden, to be precise, and we have long supported both technical universities and their students with heavily discounted Tracealyzer licenses. Today we are taking this to the next level with the launch of a completely free site license for qualifying schools. "The embedded community has [...]
In our new blog series Hands On, which launches today, we will examine many ways that developers can Tracealyzer besides debugging.
When Amazon Web Services (AWS) launched their IoT platform Amazon FreeRTOS last November, Percepio was one of four launch partners presented on stage. This week AWS published an article about AWS IoT development using Amazon FreeRTOS, Percepio Tracealyzer and the NXP OM40007 IoT kit, written by Percepio CEO and founder Johan Kraft. "Tracing Amazon FreeRTOS [...]
We are happy to announce an update of Tracealyzer, v4.1.5, bringing trace streaming support for IAR Embedded Workbench, allowing IAR users to fully benefit from the powerful capabilities of Tracealyzer 4 using IAR I-Jet probes. This leverages the ITM module found on most Arm Cortex-M3, M4 and M7 MCUs. With a fast debug [...]
When debugging or profiling your firmware, it is often important to trace Interrupt Service Routines (ISRs) such as timer interrupts or interrupts from communication interfaces. However, using a classic ”printf” call is typically not an option since it may increase the execution time of the ISR by orders of magnitude. The integrated ”exception trace” support [...]
Tomorrow Friday is a special day here at Percepio HQ – we're moving offices. We are not moving very far, the new office is a ten-minute walk from our current one, but it is absolutely a step up for the company. We'll have our own offices with plenty of space to grow (and we are [...]
I (Mike) was travelling to Barcelona for the RISC-V Workshop earlier this month. As I walked through the Barcelona airport I looked up and saw some big ass fans. I took a quick picture, enlarged the logo, and sure enough – it really was a Big Ass Fan! It's always cool to see a Tracealyzer customer's [...]
Percepio's Senior Drone Builder and Support Engineer Niclas Lindblom with his Embedded World drone. We knew we had to have something special. We knew we were going to show Tracealyzer 4 at Embedded World 2018, and we wanted the world to take notice – it was after all the largest improvement in at [...]
Percepio has released Tracealyzer version 4.1 with support for Micrium µC/OS-III. We have also added support for RTOS tracing via Arm's ITM interface (Instrumentation Trace Macrocell), that allows very fast streaming of software trace data with low overhead. “Tracealyzer 4 is such a massive improvement over previous versions and as we have been working closely [...]
Good news! As of version 4.1 (just released) Tracealyzer supports ITM tracing for ARM Cortex-M3, M4 and M7 MCUs. This is initially available for FreeRTOS and Micrium µC/OS-III, but support is planned for SafeRTOS and ThreadX soon. With a fast debug probe like Keil ULINKpro or ULINKplus, ITM allows for high data rates and low [...]
You may have heard about the General Data Protection Regulation, better known as GDPR, which is the new regulatory framework for managing personal data of European Union citizens; it comes into force on 25 May, 2018. Since Percepio is based in Sweden, which is a member of the European Union, and have a lot of [...]
When you open a trace in Tracealyzer, it usually opens to the vertical timeline. This view, which shows all activity in the system, is in many ways the core of Tracealyzer and most of the other views link back to the timeline, but with its massive amount of information it is not always the best [...]
This spring has seen the release of Tracealyzer 4, Percepio's most significant update to Tracealyzer so far, but that is not all. We have also simplified our licensing options and introduced some new ones, including an all-inclusive subscription license that allows you to use Tracealyzer with all of our supported operating systems. No matter what [...]
"Top Ten" is a well-tested catch phrase that can be attached to restaurants in London, high buildings over the world and, well, just about anything. And rest assured there's also a list of the Top Ten Bugs in Firmware. Written by industry veteran Michael Barr, former editor-in-chief of Embedded Systems Programming magazine and author of [...]
We have talked about it for six months, and worked on it for much longer than that, but today it is finally here - Tracealyzer 4! Starting today, you can download the new version of Percepio's powerful visualization tool and try it out for yourself. If you use Tracealyzer today, the first thing you will [...]
Tracealyer 4 took Embedded World by storm. Interest was intense and people were really impressed. During the show, we asked seven industry leaders if we could film their reaction to Tracealyzer 4. All agreed, and this is the result … Tracealyzer 4 brings five major improvements: Brand new user interface – fresh, [...]
In collaboration with Cypress Semiconductors, Percepio Tracealyzer® now supports Cypress PSoC® MCUs, including the hardware profiler unit in the new PSoC® 6 family. Percepio Application Note PA-019 describes in detail how to get started with Tracealyzer on Cypress PSoC® MCUs and Cypress PSoC Creator. The example is for PSoC 6, Cypress' most recent MCU family, but except for [...]
Embedded evangelist Jacob Beningo will present a free webinar on designing and debugging IoT applications. The webinar features topics like advanced RTOS application design techniques, event chaining and setting up an embedded connection to Amazon Web Services (AWS). Jacob will also use Percepio Tracealyzer to show how to trace an IoT application to not just understand how [...]
We are happy to announce improved Tracealyzer support for Microchip MPLAB X IDE, allowing for tracing of additional RTOSes. The updated MPLAB plugin now supports Micrium µC/OS-III and SafeRTOS, in addition to the previous FreeRTOS support. The plugin has also been updated and verified for the latest version of MPLAB X IDE (v4.0.5). The plugin saves [...]
Do you struggle with bugs that are difficult to replicate and isolate? Most embedded software developers encounter such problems now and then. With increasingly complex multi-threaded RTOS-based systems, such issues are likely to become more and more common in the future. They can be very difficult and time consuming to solve, and sometimes developers resort [...]
It's that time of year again – late December in Sweden means snow (mostly) and darkness (always), but it also means that the Christmas holiday is coming. Most of our staff will go on a well-deserved vacation break next week, so expect that it may take a little longer than usual for us to respond to [...]
November was a good month for Percepio and Tracealyzer. We saw record sales, a lot of interest in the Tracealyzer 4 preview videos and everything culminated on the 29th with the release of Tracealyzer v3.3 supporting Amazon FreeRTOS, just released by Amazon Web Services along with several new IoT offerings. We believe Amazon Web Services has taken [...]
Amazon Web Services launched their own RTOS yesterday, as part of a major improvement of its IoT offerings. We're happy to announce that Tracealyzer version 3.3, which we released yesterday, fully supports Amazon FreeRTOS, the new IoT microcontroller operating system from Amazon Web Services (AWS). AWS and Percepio have collaborated to provide Tracealyzer support for [...]
This is our third preview video of Tracealyzer 4, due out early next year, and this time we focus on two entirely new features: State Graphs and Intervals. Both features allow you to customize the visualization and analysis for your own system and the issue at hand. State Graphs can be created automatically from your trace, [...]
Welcome to a second glimpse of Tracealyzer 4, showing how network activity can be visualized together with the RTOS events. This way, developers of connected IoT systems can get a wider perspective of their system's real-time behavior. https://www.youtube.com/watch?v=K1O4AE4TEbE In this brief example we display events from a TCP/IP stack, but the same technique can be used [...]
A completely revamped user interface and a much improved live view are two of the most prominent features of the upcoming Tracealyzer 4, which we showed for the first time at Arm TechCon last week. If you weren't there, you can still get a feel for the new product through a short video we have put together. [...]
Percepio's stand at ArmTechCon. ArmTechCon 2017 is over and we have packed up and left. We spent two days talking to users and meeting partners, and we showed the upcoming Tracealyzer version 4 for the first time. We will have more to say about both Tracealyzer 4 and ArmTechCon in the coming weeks, but there's one little [...]
Tracealyzer v3.2 adds powerful filtering functions to reduce the amount of data that must be sent to the monitoring host computer. This makes Tracealyzer applicable to a wider range of development setups. Today we are happy to present version 3.2 of Tracealyzer for FreeRTOS. The new version is available for download from percepio.com/download/ immediately. [...]
Photo: Sara Arnald, CC-BY Have you ever wanted to debug your hobby MCU project with a tracing tool, but felt that you couldn't afford a pro tool like Percepio Tracealyzer? Well, now you can! We offer a non-commercial Tracealyzer Makers Edition license at a discounted price. Non-commercial license You will receive a full featured Tracealyzer license [...]
A research group at Mälardalen University here in Västerås, Sweden, is investigating how RTOS trace tools like Percepio Tracealyzer can be extended for testing purposes and automatically detect bugs related to concurrency and timing. To validate their research, they need real-world bug examples. We at Percepio want to help them obtain RTOS traces, recorded with Tracealyzer, [...]
Embedded Conference Scandinavia, ECS, takes place on 7–8 November, 2017 at Kistamässan in Stockholm, Sweden. Last year’s conference attracted just under 2,000 delegates so ECS now claims to be the largest embedded conference in Europe. The conference program is still in flux but the organizers have announced the first keynote speaker: Maarten Struys, Account [...]
Synopsys ARC Processor Summit is a free one-day event where you can pick from any of 25+ technical seminars on embedded development and electronic design. This year’s Summit takes place on September 26 and Percepio will be there discussing how to catch bugs in RTOS-based programming. Once again we are represented on the stage by [...]
Alan Hawse, evangelist and 26-year veteran at Cypress Semiconductor, has published an informative blog post detailing how you can integrate Percepio Tracealyzer into Cypress’ developer toolset PSoC Creator. “As you have probably noticed, I have spent a significant amount of time in the last few months doing FreeRTOS projects,” he writes, and “One thing that [...]
Summer is finally approaching here in Sweden. Last Friday we celebrated Midsummer, and the coming weeks will be a bit slower than usual as most Swedes check out from work and enjoy their summer vacation. But only a bit slower, mind you: the lights will stay on at Percepio HQ as we work on new [...]
You may have heard about "Running Snail", a team of German university students building an electric race car as a school project – we blogged about them last year. Now they're at it again, they will build a new car for the 2017/18 competitive season, and of course Percepio will continue to sponsor the team with licenses [...]