FreeRTOS in Theory and Practice


To provide a practical knowledge and understanding of real-time kernel usage. What are the advantages? What are the trade-offs? Learn from an experienced trainer and take home a working knowledge of FreeRTOS and the ability to use it efectively in your own embedded development project.


This 3-day training class uses hands-on exercises combined with instruction to illustrate the concepts of a real-time kernel. Examples using FreeRTOS form a series of practical coding exercises designed to bring you quickly up to speed. The concepts and commands necessary to make effective use of FreeRTOS are described through a combination of theory and ‘hands-on’ training. Learn from an experienced trainer and take home a working knowledge of FreeRTOS and the ability to use it effectively in your own embedded development project.


  • Familiarity with embedded C concepts and programming
  • Ability to develop software using C syntax
  • Ability to use basic embedded compiler and debug tools
  • Basic knowledge of embedded processor development boards

Who should attend?

People with interest in or tasked with development of a resource constrained real-time system. For example - software engineers, field engineers, (project) managers.

Course Outline

  • Introduction

    • FreeRTOS overview, market position, the "free" in FreeRTOS, understanding the FreeRTOS license, software architecture, features.
    • LPCXpresso IDE download and installation, importing an example workspace.
  • Task Management

    • Tasks - Creation, states, priorities, the idle task, deletion.
    • Scheduling - Determinism, multitasking, endless loop, cyclic executives, issues with interrupts, non-preemptive, prioritized preemptive, rate monotonic, deadline, cooperative, hybrid.
  • Queue Management

    • Creation, sending, receiving
  • Interrupt Management

    • Deferred interrupt processing, interrupt handlers, interrupt safe functions, task with interrupt synchronization, efficient queue usage even from within an interrupt, interrupt nesting.
  • Resource Management

    • Mutual exclusion, critical sections, suspending/locking the scheduler, mutexes, priority inversion, priority inheritance, deadlock, gatekeeper tasks.
  • Memory Management

    • Resource constrained memory allocation schemes, determining the amount of free memory remaining.
  • Trouble Shooting

    • avoiding bugs and how to find those you did not avoid
  • FreeRTOS-MPU

    • User vs. privileged mode, access permissions, defining MPU regions, linker configuration, practical usage tips.
  • The FreeRTOS Download

    • Files and directories, demo apps, data types and coding style.

A customized version of this training like FreeRTOS on LPCXPresso 1769 is offered by FreeRTOS.



All fields with an asterisk (*) are required.

From *) 
Subject *) 
I am interested in   Embedded GNU/Linux Systems Architecture  
one or more   Embedded GNU/Linux Kernel Internals and Device Drivers  
of these items   The Yocto Project - An Overview  
   Introduction to Embedded Linux in Theory and Practice - a Crash Course  
   (Embedded) Linux Debugging  
   FreeRTOS in Theory and Practice  
   Custom Training  
Delivery Options   on-site  
Number of trainees *) 
Name *) 
Website *) 
Timezone *) 
Street Address 
Address Line 2 
Postal / Zip Code 
State / Province / Region 
Country / Region 
Questions or comments? 
Please enter the following utljsmcy Help us prevent SPAM!