RTOS 101 explains fundamental RTOS concepts, such as tasks, priority-based scheduling, queues, semaphores and mutexes, and provides examples of how Percepio Tracealyzer can be used to understand such issues.
Improving the Reliability of the Internet of Things
An average of 6 bugs per 1000 lines of code remain in shipped software, causing delays, failures and frustration when things go wrong. Over-the-air (OTA) updates certainly make it easy to deploy patches to faulty software. But when OTA updates are coupled with software tracing, it becomes a powerful mechanism for improving the quality and reliability of a wide range of embedded IoT systems.
Tracealyzer Hands On
A selection of the Hands On blog posts is available for download as a PDF here.
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.
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.
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.
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.
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.
There is a learning curve when you begin using a real-time operating system in your development. You will work at a higher abstraction level, using parallel tasks that interact with each other, and you will deal with timing issues.