Article

>Tag:Article

The RTOS trend and the challenges of using an RTOS

Using an RTOS, or perhaps considering an RTOS for your next project? In that case, we recommend reading our article RTOS Trends and Challenges by Percepio founder Dr. Johan Kraft, featured on Embedded.com. The article discusses the strong RTOS trend in the embedded industry, including the motivations and fundamental challenges of using an RTOS, pitfalls that even caused NASA's JPL some serious problems during the [...]

October 27th, 2016|Categories: Blog|Tags: , , , |

White Paper: Real time demands on the IoT

Delivering ultra-low power operation in IoT nodes means they will spend most of their time in a dormant mode, waiting to exchange data with a gateway. Could employing an RTOS help deliver a more reliable user experience? Read our latest white paper where Dr. Johan Kraft, Founder and CEO of Percepio, examines some of the [...]

August 31st, 2016|Categories: Blog|Tags: , , , , |

White Paper: How to visualize response times in FreeRTOS

Being able to measure the timing of RTOS tasks and interrupts is key to understanding the performance of a real-time system. Measuring response time is easy, but then what? Understanding the contributing factors behind performance anomalies requires good visualization that can explain the data. Read our white paper about how Tracealyzer can help you [...]

August 24th, 2016|Categories: Blog|Tags: , , , , |

Three software engineers and a bug

Sometimes debugging a problem can seem like the three blind men encountering an elephant for the first time. Each came in contact with a different part of the elephant and drew completely different conclusions. Read Mike Skrtic's blog on Electronic Specifier, or Download Tracealyzer and see the whole picture for yourself. [...]

August 11th, 2016|Categories: Blog, News|Tags: , , , , |

RTOS 101: Semaphores and Queues

The use of a Real-Time Operating System (RTOS) is increasingly common in embedded software designs. An RTOS makes it easy to divide your code into smaller blocks, tasks, which execute seemingly in parallel and independent of each other, as described in the first article in the RTOS 101 series. Having fully independent tasks is [...]

August 11th, 2016|Categories: Blog|Tags: |

Open Pilot Next Gen tunes ISR with Tracealyzer

Steve Evans of Open Pilot Next Generation (OPNG) explains how they have used Percepio Tracealyzer to finely tune their flight controllers and ensure deterministic performance.  They needed to perform some in depth analysis of their code timing, which runs on an STM32F4xx MCU under FreeRTOS. The best single characteristic of Tracealyzer for FreeRTOS can be summed up [...]

July 26th, 2016|Categories: Blog|Tags: , , , |

Customer Case: Mysterious Watchdog Reset

We collect examples of how Tracealyzer has been of used by our customers and have recreated these cases to illustrate the benefits of trace visualization for embedded software developers. In this case, a customer had an issue with a randomly occurring reset. By placing a break point in the reset exception handler, they figured out that it was [...]

June 29th, 2016|Categories: Blog|Tags: |

Using ST-Link for RTOS trace streaming

Have you ever tried recording what happens in an RTOS-based firmware to find some bug or tune the performance? You will quickly find that there is a lot of interesting stuff going on, like in the below view from Tracealyzer showing a 50 millisecond section of a much longer trace. There are plenty of interrupts and [...]

June 16th, 2016|Categories: Blog|Tags: , , |

ARM ITM: why you need a fast debug probe!

When developing embedded software, a good understanding of the real-time behavior is vital. At Percepio we develop the Tracealyzer tools for RTOS trace visualization, but this post is about a related technology from ARM that we believe is of general interest to any developer using ARM-based MCUs. Having some form of diagnostic logging/tracing is necessary in most [...]

June 9th, 2016|Categories: Blog|Tags: |

Tracing Exceptions on ARM Cortex-M MCUs

Software tracing comes in two main flavors, software-defined trace and hardware-defined trace. Hardware-defined trace means that the processor outputs a trace of low-level software events, such as control-flow branches and exceptions/interrupts. The resulting trace is very detailed and can therefore be overwhelming - you don't see the forest for all the trees! Software-defined trace means [...]

May 4th, 2016|Categories: Blog|Tags: |

Starting with FreeRTOS and Tracealyzer using STM32CubeMX

Welcome to the first post on getting started with using a Real-Time Operating System (RTOS) and Percepio Tracealyzer. In earlier posts we have talked a lot about how you can use Tracealyzer to find unwanted behavior in your RTOS-based system, but here and in a few later articles we will discuss how to actually do [...]

April 28th, 2016|Categories: Blog|Tags: |

How debug an Electric Race Car

If you have kids and like to build stuff, you might have built a soapbox car at some point. At least I did last summer. For me, an obvious next step was to consider adding an electric motor. I never found the time, but would have loved a project like that. I therefore got quite [...]

April 20th, 2016|Categories: Blog, News|Tags: |

RTOS 101: Performance analysis with Tracealyzer

When developing firmware using a Real-Time Operating System (RTOS), how do you measure the software performance? One important aspect of performance analysis is response time, the time from point A to point B in the code, e.g., from when a task is activated until it is completed. This can be measured in many ways, e.g., [...]

February 19th, 2016|Categories: Blog|Tags: |

RTOS 101: Tasks, Priorities and Analysis

The use of Real-Time Operating System (RTOS) is increasingly common in embedded software designs, as an RTOS makes it easy to divide your code into smaller blocks, tasks, which execute seemingly in parallel and independent of each other. An RTOS provides multi-tasking, in a reliable and maintainable manner, which makes it easier to design applications [...]

January 28th, 2016|Categories: Blog|Tags: |

Open Pilot Next Gen tunes ISRs with Tracealyzer

Steve Evans of Open Pilot Next Generation (OPNG) explains how they have used Percepio Tracealyzer to finely tune their flight controllers and ensure deterministic performance.  They needed to perform some in depth analysis of their code timing, which runs on an STM32F4xx MCU under FreeRTOS. The best single characteristic of Tracealyzer for FreeRTOS can be summed up [...]

September 29th, 2015|Categories: Blog|Tags: |

Customer Case: Increased response time?

This Tracealyzer user developed a networked system, containing a TCP/IP stack, a flash file system, and an RTOS running on an ARM Cortex-M4 microcontroller. The system contained several RTOS tasks, including a server-style task that responds to network requests, and a log file spooler task. The response time on network requests had often been an [...]

June 1st, 2015|Categories: Blog|Tags: |

Customer Case: Mysterious Watchdog Reset

We collect examples of how Tracealyzer has been of useful to our customers and have recreated similar issues to illustrate the benefits of our Tracealyzer tools for embedded software developers. In this case, a customer had an issue with a randomly occurring reset. By placing a breakpoint in the reset exception handler, they figured out [...]

April 20th, 2015|Categories: Blog|Tags: |

Customer Case: Unexpected Timing

We collect examples of how Tracealyzer has been of useful to our customers and have recreated similar issues to illustrate the benefits of our Tracealyzer tools for embedded software developers. In this case, a customer had an issue with a periodic task not running as expected, here called SamplerTask. This was the highest priority task [...]

March 4th, 2015|Categories: Blog|Tags: |

Article in Electronics Weekly

We contributed an article on Linux tracing in the March edition of Electronics Weekly. The article is available online. We hope you like it. If you do, feel free to share the link!

May 5th, 2014|Categories: Blog|Tags: |

“Seeing is Debugging” in Renesas Echo

Serious Integrated Inc. recently published their very positive results from using FreeRTOS+Trace, i.e., our Tracealyzer tool for FreeRTOS. Within a week, they managed to improve their performance (reduce CPU usage) with a factor 3, thanks to the improved insight. See the article "Direct Drive: Seeing is Debugging" in Renesas Echo, June 2012.

July 2nd, 2012|Categories: Blog, News|Tags: |