RTOS Fundamentals & Workshop (Deutsch)/(English)

Course Description

Training subject is development of real-time software and embedded system using an RTOS at user level.

The course stars with an overview of basic questions on multi-tasking applications in modern real-time embedded systems and according system requirements and specification. Followed by an inside view of a structure of a software system with stringent guidelines and limits, focused on Multitasking- and Timing behavior, giving minor attention to an object-oriented design.

To another subject is taken care: the broad spectrum of interprocess communication and synchronization, including different kind of Mutexes. Realistic topics like Deadlocks, Lockouts, Memory shortness and CPU time are handled also. Students learn to configure a queue correctly, taking into account critical design problems like interrupt overflow and Memory shortness. Timing Performance, benefits and quality of real-time or embedded designs completes the topics of this training.

This course is targeting development of high-speed Multitasking Software in Deeply Embedded Systems under restrictive time and resources, controlled by a modern RTOS.

How does a preemptive OS work? Each task is a "main()-Loop".

From this it follows that:

- There is only one stack per each task.
   There are as many stacks as Tasks.

- There is a need to switch from one task to another.
   This requires to interrupt a running task.

- Each Task has a defined task state (new, waiting, running, ...).
   This state may be changing always.


- Stack: Each Task needs its own Stack.
   Answers like "What is the content of that stack?" or "How big will the stack be?"
   will be answered.

- Task-Control-Block: Why? How will the different code modules be used?

- Initialize the System: The main() method. There is no endless loop.
   "Which code will be executed if there a no tasks?"

- Task create, kill, kill-self: A mechanism in order to link a task to the Task list.

- Idle Task: What happens during the idle time of the controller?
   Handling all topics from "do nothing" to PowerSafe Mode and Statistic functions.

- Dispatcher: Incorporates a Timer Interrupt, which interrupts the task and calls a
   scheduling to the next task. This is the only part which looks different if porting
   to another CPU platform.

- Scheduler: Switches Task states and changes to another task. Different scheduling
   concepts are totally independent from the rest of the system:

- priority controlled

- Round Robin

- time slice

Configurability: Settings are stored in a Header-File:

- Maximum number of simultaneously running tasks

- Data types of OS Variables

- The Tick-Time of the Dispatcher


C is mandatory and Embedded Systems programming experience is useful.

Target Group

MRTOS and Embedded Software, Project Manager and Consultants as well as IT Engineers and Technicians wishing to know how an RTOS really works.

Course Material

  • course notes

FlexyTrain: Our flexibility – Your plus

No date fits you? No problem, we offer you maximum flexibility and together we will find an adequate date. Just Contact us!