Real time embedded FreeRTOS RSS feed 
Real time embedded FreeRTOS mailing list 
Homepage FreeRTOS+ Products FreeRTOS Labs Integration Services Contact / Enquiries

FreeRTOS Training
Expert instructor led RTOS training to maximise productivity

Public Online Training Dates
Next public online training date: March 30th to April 1st 2015.

Please complete the application form by March 15th 2015 to allow sufficient time to deliver the printed material and the hardware before the training starts.

Please use the contact form below for all other training related enquiries.

FreeRTOS Theory and Practice

RTOS training can be delivered online or on-site


This 3-day training class uses hands-on exercises combined with instruction to illustrate the concepts of a real-time operating system. FreeRTOS is used as an example. It is designed to bring you up to speed quickly, ensuring maximum project productivity.

The concepts and commands necessary to make effective use of FreeRTOS are described through a combination of theory and on-the-job training. Learn from an experienced trainer and take away a working knowledge of FreeRTOS and the ability to use it effectively in your own embedded projects.

Objectives Overview

Attending an RTOS training class will provide an understanding of RTOS essentials, advantages and trade-offs. Hands-on exercises will provide the practical experience necessary to use an RTOS in your own embedded system development.

Online or On-site Options

Online training is cost effective because, without travel and accommodation expenses, fewer trainees are required to cover our costs. Training can be given as a private session, and can be arranged for any mutually convenient time.

On-site training can also be provided when the number of trainees is high enough. The point at which on-site training becomes cost effective depends on the geographic location.

RTOS training price enquiry

Course Details
Title FreeRTOS in Theory and Practice
Delivery The course is normally presented online with instructor screen sharing. On-site training can also be provided where attendee numbers make this cost effective.
Duration Modular, up to three days
Language Course material is provided in English. Instruction can be provided in either English or German.
Who Should Attend? People with an interest in, or who have been tasked with, development of a resource constrained real-time system. For example, embedded software engineers, field application engineers, project managers, etc.
Course Material and Equipment The following items are provided:
  • A bound course book, priced extra per copy
  • Low cost target hardware, typically an LPC1769 LPCXpresso Board, priced extra per board
  • A CD containing the examples and solutions
Please note, we do not permit re-use of our copyright material.
Prerequisites Attendees should have:
  • A basic familiarity with using a Windows system as an end user
  • Familiarity with embedded C concepts and programming
  • The ability to develop software using the C language
  • The ability to use an embedded compiler and embedded debugging tools
  • Basic knowledge of embedded microcontroller development boards
Pricing Private online sessions cost €3700 EUR plus shipping costs for the full three days (approximately $5000 USD plus shipping costs), offering excellent per person per day value for larger groups. The same course can be delivered on-site for the addition of the travel and living expenses incurred. Please use the form below to make an enquiry.

Public online sessions cost €1250 EUR per person plus shipping costs (approximately $1700 USD plus shipping costs) and are provided as and when enough people have registered an interest in a single time zone band. Please use the form below to register your interest.

RTOS training price enquiry

  1. Introduction

    • FreeRTOS
      • Overview, market position, free software, open source, the modified GPLv2 license, software architecture, features, hard and soft real-time, the difference between an RTOS and Linux, etc.

    • LPCXpresso
      • Download and install, then import and example workspace
    • Download FreeRTOS

  2. Task Management

    • Tasks
      • What is a task?
      • Crude loop periodic delays, the task parameter, task priorities, task starvation, etc.
      • Task creation, task states, task priorities, the idle task, deleting a task, etc.
      • vTaskDelay(), vTaskDelayUntil(), polling Vs event driven, the idle task hook, etc.

    • Scheduling
      • Determinism, multitasking, endless loops, cyclic executives, issues with using interrupts, preemptive, cooperative, prioritized preemptive, rate monotonic, deadline, cooperative, hybrid
  3. Queue Management

    • What is a queue?
    • Creating a queue, sending to a queue, receive from a queue, etc.
    • Blocking on a queue read, blocking on a queue write
    • Blocking multiple tasks on the same queue
    • Queueing large data items
    • Indirect, direct, synchronous and asynchronous message passing.
  4. Interrupt Management

    • Interrupt Vs. Polling
    • Hardware and software interrupts
    • Interrupts arriving at the same time
    • Reentrancy and reentrant code
    • What is an event?
    • What is a Semaphore and what can it be used for?
    • Signal/Wait pattern, state diagram, states of a binary semaphore, etc.
    • Counting semaphores
    • Queues and interrupt service routines
    • Deferred interrupt processing, interrupt handlers, FreeRTOS interrupt safe API functions, task and interrupt synchronisation, efficient queue usage in interrupts, interrupt nesting, etc.
  5. Resource Management

    • Concurrency, concurrent reading and writing
    • Mutual exclusion, critical sections, suspending the scheduler, mutexes, priority inversion, priority inheritance, deadlock, gate-keeper tasks, mutex vs. semaphore, etc.
  6. Memory Management

    • Types of memory, memory fragmentation, memory exhaustion, memory allocation, dynamic memory allocation in FreeRTOS
    • FreeRTOS memory allocation schemes, xPortGetFreeHeapSize(), etc.
  7. Trouble Shooting

    • Project planning, firmware standard, code review, binutils, etc.
    • Debugging by stopping, the FreeRTOS Simulator, state viewer plugins, etc.
    • printf-stdarg.c, stack overflow detection
    • Heap overflow detection
    • Task statistics, run time statistics
    • profiling, tracing
    • Common errors
  8. FreeRTOS-MPU

    • Memory management
    • User and privileged modes, access permissions, defining MPU regions, configuration required by the linker, usage tips
    • Find out why a program failed

RTOS Training Enquiry Form

Please complete the form below so we can assess how best to meet your training needs.

[ Back to the top ]    [ About FreeRTOS ]    [ FreeRTOS+ Sitemap ]    [ Main FreeRTOS Sitemap ]    [ ]

Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2014 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.