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 your [...]
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 email@example.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 [...]
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. [...]
Deadlock is a well-known phenomenon even outside the embedded world. For a general description of deadlock, see this article; it is far better than anything I could ever hope to write. But I digress – back to deadlocks in RTOS-related programming. A clear indication that you may have a deadlock problem is when multiple tasks [...]
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 [...]
Priority inversion at work – the high-priority (red) task is blocked by lower priority tasks. 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. If necessary, the RTOS can even pre-empt the running task, forcing it to yield the CPU to [...]
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”. When your task experiences jitter, it sometimes has to [...]
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; today we will look at one particular reason – a fixed [...]
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. [...]
There is no doubt a learning curve when you begin using a real-time operating system (RTOS) in your development. You will work at a higher abstraction level, using more or less parallel tasks rather than just subroutines, and you will need to consider how your tasks shall share data and the processor time with each [...]
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! From now till the end of this year, you can purchase a non-commercial Tracealyzer Makers Edition license at the heavily discounted price [...]
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 [...]
By Niclas Lindblom, Senior FAE at Percepio AB. Percepio has recently introduced Tracealyzer for ThreadX, which is good news for developers using Renesas Synergy. As you might know, the Renesas Synergy Software Package (SSP) includes the ThreadX RTOS and middleware from Express Logic, supporting Synergy S1, S3, S5 and S7 processors. Tracealyzer is a runtime [...]
Learn how ZF was able to improve their embedded software development by adopting Percepio Tracealyzer, the leading solution for RTOS-level trace analysis. ZF is a global leader in automotive driveline and chassis technology, active and passive safety technology, and a long-time customer of IntervalZero – providing technology that turns the Windows operating system into a real-time operating [...]
After an intense cooperation with ARM/Keil, we are pleased to announce the immediate availability of Tracealyzer for ARM® Keil® RTX5, now available for download and evaluation. Click for more information on Tracealyzer for Keil RTX5 PRESS RELEASE Västerås, Sweden, 10 May, 2017 *** Percepio AB, the leading specialist in software tracing tools for real-time operating systems, has [...]
We are delighted to announce the immediate availability of Tracealyzer for ThreadX, now available for download and evaluation. Tracealyzer for ThreadX supports all ports of ThreadX, with explicit support for Renesas Synergy. PRESS RELEASE Västerås, Sweden, 26th April 2017 - Percepio AB, the leading specialist in software tracing tools for real-time operating systems today announced [...]
We are pleased to announce the release of Tracealyzer for VxWorks version 3.1.2, now available for download. Changes include several bug fixes and plenty of useful improvements, such as: User Event Log This view shows a text log of custom "User Events" that have been added in the embedded application code (much like "printf" call). [...]
We are pleased to announce the availability Tracealyzer for FreeRTOS v3.1.2, now available for download. Users of v3.1.x are recommended to upgrade to this version, especially if using the User Event features. Changes, v3.1.1 -> v3.1.2 - Several improvements of the User Manual, e.g., about snapshot trace via IAR Embedded Workbench. - Fixed a potential [...]
In this all new webinar, attendees will become familiar with the latest and greatest techniques and tools necessary to debug their code. Important concepts such as properly sizing thread stacks, using event viewers and discovering issues such as priority inversions, deadlock and thread starvation will be examined. The webinar will provide hands-on demonstrations using the [...]
PRESS RELEASE Västerås, Sweden, 14th March 2017 *** Percepio AB, the leading specialist in software tracing tools for real-time operating systems, has been working closely with ARM to develop Tracealyzer for ARM® Keil® RTX5, the new RTOS in Keil MDK and ARM mbed™ OS. Tracealyzer for RTX5 is based on Percepio’s latest Tracealyzer v3.1 platform [...]
Leading software tracing tool soon available for the ThreadX RTOS and Renesas Synergy PRESS RELEASE Västerås, Sweden, 14th March 2017 - Percepio AB, the leading specialist in software tracing tools for real-time operating systems has been working closely with Express Logic to develop Tracealyzer for ThreadX. ThreadX from Express Logic is a leading embedded RTOS [...]
PRESS RELEASE London, UK: Wed 8th March 2017 Today a number of industry leading companies in the embedded tools industry announce a new milestone in embedded system development - the Embedded Tools Alliance (ETA). The embedded developers' toolbox is complex and involves many components: IDE (Integrated Development Environment), compilers, debuggers, trace tools, test tools, debug [...]
Tracealyzer for FreeRTOS version 3.1.1 is now available on the download page. This is a maintenance release, following up the big v3.1.0 release in december. The main functional improvement is a new Eclipse plugin, making it more convenient to use Tracealyzer with Eclipse-based IDEs like SOMNIUM DRT, Simplicity Studio, and others. The plugin allows for reading trace snapshots via any debug [...]
Niclas Lindblom Sr. FAE at Percepio Not that long-ago, developers thought that a high-level language was not really needed when building embedded applications. Writing a good UART driver in assembler was done in only a day or two, so why bother with C? Besides, even if you wrote in C, who could trust that [...]
Niclas Lindblom Sr. FAE at Percepio As you might know, our Tracealyzer tools allows you to record and visualize the real-time behavior of your RTOS-based firmware. In previous blogs, I’ve talked about the possibility of streaming the trace data from your board, and today we’ll consider one such specific case - USB CDC. A few months [...]
Last month at Embedded Conference Scandinavia, Percepio founder Dr. Johan Kraft made a very well received presentation called "Common RTOS-related bugs – How to Avoid and Detect". The presentation covered RTOS basics, the motivations and challenges of using an RTOS, then dived into specific RTOS-related problems - their symptoms, how to avoid them and means [...]