Creating a safer, greener, more secure future.

RTOS Resources and Tutorials

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.

Stream Buffers

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.

Local Storage Pointers

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.

Hook Functions

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.

Event Multiplexing

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.

Tasks and Task Management

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.

Error Checking

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.

Inter-Task Communication

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.

Binary and Counting Semaphores

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.

Queues

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.

Event Flags and Groups

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).

Memory Protection

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.

Watchdog Strategies

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.

Saving Power With an RTOS

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.

Priority Inversion Use Case

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.

Task Notifications

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.

Interrupt Service Routines (ISRs)

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.

Verifying Task Scheduling Performance

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 an RTOS

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.

8 Reasons to Use a Pre-Certified Safety RTOS

Why Should You Use An RTOS?

Free Demos & Manuals

Download fully functional, time-limited SAFERTOS® demos, plus manuals, datasheets, and more.