Linux Embedded Realtime and Drivers (Deutsch)/(English)


The first main topic of the course is programming drivers by using Linux. After you´ve learned about the operating system architecture and device driver model in detail, you will develop your own driver step by step. Subsequently, soft realtime capabilities of Standard-Linux will be explained.

Second main topic is the realtime expansion RT-Linux. In this context, the architecture of this hard realtime system as well as the available mechanisms and the programming model will be discussed. Based on this knowledge, you will develop a RT-Kernel as well as an example program. This example, besides RT capabilities, will use a communication interface (RT-FIFO's) to the Standard-Linux programs as well.

In the third main topic, you will learn about Linux Embedded systems. Based on the requirements for an Embedded system, all the necessary skills for developing and buidling a complete Embedded Linux using an ARM target board will be discussed. In doing so, the differences between a standard distribution will be shown. Moreover, there will also be exercises for developing an Embedded system. After the course, you will have profound knowledge of the driver model and the Linux operating system architecture. You will be able to design and implement Kernel programs and drivers on your own.

Furthermore, you will be acquainted with interrupt handling and synchronization concepts. In addition to this, you will be able to evaluate the realtime capabilities of Linux, the practical use as well as planning and implementing complete system developments. Moreover, you will be capable of designing and implementing Embedded Linux systems.

Likewise, you will be able to evaluate the available products. We attach great importance to the fact that each theoretical part is completed with a practical exercise. In doing so, the understanding of the concepts will not only be checked respectively deepened, but also put into practical use.


  • User level driver (port access)
  • Kernel level driver (driver model, hardware access)
    • Lab using parallel port
  • Kernel driver, interrupt handling (blocking IO, tasklet, workqueue, timer)
  • Linux kernel module, virtual file system
  • Scheduling (processes, threads)
  • Linux latency time
  • Standard linux realtime aspects
  • Hard-Realtime concepts
    • Xenomai concept, programming model
    • Preemption concept, programming model
    • RT-Linux
    • RTAI
    • Labs
  • RT-Timer and RT Inter-process Communication
  • Kernel for embedded Linux
  • Root file system
  • Kernel Build, Hands-on using an ARM Embedded Target (Eval Board)
  • Boot mechanisms
  • Available Tools (Cross-Compiling, Busybox, uClibc)
  • many hands-on labs


Good knowledge of C, Basic knowledge of Linux and Linux shell or knowledge level from our class "Embedded Linux System Programming" are recommended.


System designers and developers, who would like to develop driver and kernel programs on a Linux system core and who would like to become acquainted with the special features of realtime Linux and embedded Linux.

Begleitendes Kursmaterial

  • course notes

FlexyTrain: Unsere Flexibilität – Ihr Plus

Keinen passenden Termin gefunden? Kein Problem: Bei der Planung unserer Kurstermine bieten wir Ihnen ein Höchstmaß an Flexibilität. Im Klartext: Gemeinsam mit Ihnen finden wir einen geeigneten Termin. Sprechen Sie uns an!