We are proud to present a range of Real-time operating system (RTOS) training materials for you to build and refresh your real time OS skills. These training materials are an introduction to RTOS basics as well as a look at more advanced RTOS features. Content is continuously growing, so check back soon or sign up to our newsletter or twitter to be alerted when we post something new.
Read our Use Case Examples for tutorials, information, and tips.
Watch our Training Videos to learn about the Memory Protect Unit (MPU), how to get the best out of your SAFERTOS® demo, and find out more about visualisation tool, Tracealyzer.
Stream Buffers
This is an introduction to Stream Buffers, designed to provide an overview of their functionality and use cases. It explores what Stream Buffers are, how they differ from message buffers, and their advantages in multicore usage.

Local Storage Pointers
This app note provides an introduction to Local Storage Pointers, a key concept in managing data within an RTOS. Through real-world examples, this note explores how Local Storage Pointers are used to manage task-specific data efficiently within a system.

Hook Functions
This is an introduction to Hook Functions, designed to provide an overview of how Hook Functions work, their role in RTOS customization and the difference between mandatory and optional hooks.

Event Multiplexing
This is an introduction to Event Multiplexing. It discusses how an event multiplexing efficiently combines multiple data streams into a single one, streamlining event handling within your RTOS application.

Tasks and Task Management
This is an introduction on the core building block of any RTOS application: Tasks. We will discuss how Tasks function as independent, self-contained programs, each with its dedicated context. Discover how to leverage multiple Tasks within your RTOS application, while ensuring efficient data exchange and synchronization through other RTOS components like queues.

Error Checking
This is an introduction into Error Checking. In every real-world application, a variety of errors might happen. Therefore, it is important for the system to be able to detect these errors and respond in an appropriate manner. This explores how an RTOS equips you to handle these inevitable glitches.

Inter-Task Communication
This is an introduction to communication mechanisms used by an RTOS to ensure seamless interaction between tasks and Interrupt Service Routines. It explores various methods for exchanging data and signals, including buffering techniques for tasks that aren’t synchronized.

Binary and Counting Semaphores
This is an introduction to Binary and Counting Semaphore. We discuss the difference between semaphores and mutexes and which is the better choice for implementing simple mutual exclusion.

Queues
This is an introduction to Queues. We discuss the basics of how Queues are used to communicate data between tasks in a Real Time Operating System.

Event Flags and Groups
Learn about RTOS Event Flags and Event Groups. Event Flags and Groups provide an efficient and flexible method of handling Task synchronization and event management. Better understand the working of your real time kernel API function types and learn how to avoid indeterminacy and control the sequence in which events occur.

Memory Protection
This is a great introduction to the MPU and MMU in RTOS. Memory protection is an aspect of memory management and is especially important in safety-critical applications. Learn how this can aid in a microprocessor application executing high integrity functions where it is critical not to overwrite memory space. Many embedded devices include an optional Memory Protection Unit (MPU), or in some cases, a Memory Management Unit (MMU).

Watchdog Strategies
This page describes how to use a Watchdog to protect the system when using an embedded RTOS. The Watchdog timer is an electronic timer that is used to detect and recover from errors within embedded systems. It introduces the challenges faced by embedded software developers around deciding when to notify the Watchdog that the system is still functional.

Saving Power With an RTOS
With a higher demand for green energy and efficiency engineers are increasingly needing to consider how to save power in their designs. This introduction describes how an RTOS can achieve low-power with Idle Task Sleep Mode or Tickless Sleep Mode for ultra-low power and energy saving.

Priority Inversion Use Case
How can you detect Priority Inversion in your RTOS? What is Priority Inversion? This tutorial details how to detect if a high priority task is unable to complete due to Priority Inversion. We use visualisation tool Tracealyzer to highlight how to detect it, and how to prevent priority inversion in your real time kernel.

Task Notifications
Task Notifications are a lightweight alternative to RTOS Queues, Semaphores and Event Groups. Here we learn the basics of Task Notifications and how they can offer significant performance and RAM benefits over traditional methods. Task notifications can receive a task’s 32bit notification value in a variety of ways providing increased flexibility to your system.

Interrupt Service Routines (ISRs)
Within a microprocessor system an interrupt is a signal from hardware or software that needs immediate attention. This helpful PDF examines the handling of Interrupts by Interrupt Service Routines (ISRs). Within this guide we detail considerations of Interrupt Service Routines, critical code sections and setting interrupt priority levels within the realms of RTOS capabilities.

Verifying Task Scheduling Performance
This is an introduction to priority based pre-emptive scheduling. We discuss avoiding temporal disruption, Tasks blocked or delayed in irregular ways, when designing your real time system and how SAFECheckpoints can be used to Monitor Task Scheduling Performance with a Software Timer.

8 Reasons to Use an RTOS
Why use an RTOS? Why move from bare metal to a Real Time Kernel? We give 8 reasons in this PDF why you might want to switch to an RTOS, including responsiveness, performance and reduced complexity. We dispel some common RTOS myths and give you some concise reasons to re-look at using a Real Time OS. FreeRTOS is one of the most popular solutions for embedded designers, take a look at why that is. To watch a walkthrough of this document, click here.

8 Reasons to Use a Pre-Certified Safety RTOS
If you are familiar with FreeRTOS and you’re looking to start a project with safety critical requirements, there is no need to re-invent the wheel. Read our PDF that covers 8 key reasons why you might want to use a pre-certified safety RTOS, including Determinism, Isolation of Tasks, and Quality Assurance in your embedded design. To watch a walkthrough of this document, click here.

Why Should You Use An RTOS?
Free Demos & Manuals
Download fully functional, time-limited SAFERTOS® demos, plus manuals, datasheets, and more.