Eingabe löschen

Kopfbereich

Hauptnavigation

School of Engineering

WBK Embedded Linux für Fortgeschrittene: Vom Kernel bis zu Realtime-Systemen

Der Weiterbildungskurs vermittelt praxisnah fortgeschrittene Kenntnisse in der Embedded-Linux-Entwicklung von Yocto über Kernel-Programmierung bis hin zu Realtime-Anwendungen. Teilnehmende lernen zudem, eine kamerabasierte Echtzeit-Anwendung für maschinelles Lernen auf einem Embedded System zu realisieren.

Anmelden

Favoriten vergleichen

Auf einen Blick

Abschluss:

Kursbestätigung (3 ECTS)

Start:

02.03.2026

Dauer:

Kosten:

CHF 2'500.00

Durchführungsort: 

ZHAW School of Engineering / Campus Technikumstrasse, Technikumstrasse 9, 8401 Winterthur  (Auf Google Maps anzeigen)

Unterrichtssprache:

Deutsch

Ziele und Inhalt

Zielpublikum

  • Embedded-Entwickler:innen mit Grundkenntnissen in Linux
  • Software-Ingenieur:innen, die in die Entwicklung von Linux-basierten Embedded-Systemen einsteigen möchten
  • Systemarchitekt:innen, die Embedded-Linux-Systeme konzipieren
  • Hardwarenahe Entwickler:innen, die ihre Expertise in Linux-basierten Systemen erweitern möchten

Ziele

Nach Abschluss des Weiterbildungskurses sind die Teilnehmenden in der Lage:

  • ein angepasstes Embedded-Linux-System mit Yocto zu erstellen
  • hardwarenahe Programmierung mit GPIO durchzuführen
  • eigene Linux-Kernel-Module zu entwickeln und zu debuggen
  • einen Platform-Treiber für spezifische Hardware zu implementieren
  • Realtime-Anforderungen in Linux-Systemen umzusetzen
  • Machine Learning Modelle für ressourcenbeschränkte Embedded-Systeme zu erstellen
  • rechtliche Implikationen verschiedener Linux-Lizenzen zu verstehen und in Projekten zu berücksichtigen

Methodik

Modul “Grundlagen und Embedded Linux mit Yocto”

  • Linux im Embedded-Bereich: Verbreitung und Anwendungsfälle
  • Vorteile von Linux in Embedded Systems
  • Build-Systeme im Vergleich (Buildroot, OpenWRT, Yocto)
  • Architektur des Yocto-Projekts
  • Arbeiten mit Layers und Recipes
  • Systemkonfiguration und Image-Erstellung
  • Praktikum: Erstellung eines angepassten Images für Raspberry Pi

Modul “GPIO und Linux-Kernel”

  • GPIO-Zugriffsmethoden (Pseudo-Filesystem vs. Memory-Mapped)
  • GPIO-Register und -Funktionen
  • Praktikum: Implementierung einer GPIO-basierten Anwendung
  • Architektur des Linux-Kernels
  • Kernel-Konfiguration und Kompilierung
  • Booten von Linux auf Embedded Systemen
  • System-Calls und Kernel-API
  • Praktikum: Untersuchung von GPIO-Ansätzen und Performance

Modul “Kernel-Module, Device-Tree, Interrupts und Kernel-Threads”

  • Grundlagen der Kernel-Modul-Entwicklung (LKM)
  • Implementierung von init/exit-Funktionen
  • Platform-Driver-Konzept
  • Integration mit dem Device-Tree
  • Hardware-Zugriff aus Kernel-Modulen
  • Erstellen von /sys-Schnittstellen
  • Praktikum: Entwicklung eines Kernel-Moduls für eine 7-Segment-Anzeige
  • Interrupt-Handling im Linux-Kernel
  • Implementierung von Interrupt-Handlern
  • Kernel-Thread-Programmierung
  • Synchronisationsmechanismen im Kernel
  • Praktikum: Entwicklung eines Interrupt-gesteuerten Zählers als Kernel-Driver

Modul “Scheduling und Prozesssynchronisation, Realtime mit Linux”

  • Prozesse vs. Threads in Linux
  • Linux-Scheduling-Policies (SCHED_OTHER, SCHED_FIFO, SCHED_RR)
  • Prioritätssteuerung und Nice-Werte
  • Mutex, Conditional Variables und Semaphoren
  • Praktikum: Implementierung eines Multiplex-Systems mit Semaphoren
  • Grundlagen von Echtzeitsystemen
  • Interrupt-Latenz und deren Optimierung
  • PREEMPT_RT-Patch: Konzept und Anwendung
  • Spinlocks und deren Auswirkung auf Realtime-Performance
  • Co-Kernel-Ansätze (Xenomai)
  • CPU-Affinity für Performance-Optimierung
  • Praktikum: Untersuchung des Scheduling und Echtzeitverhaltens auf dem Raspberry-Pi

Modul “Embedded Machine Learning, Linux-Lizenzen und rechtliche Aspekte”

  • Design von Machine-Learning-Modellen für ressourcenbeschränkte Embedded-Systeme
  • Echtzeit-Inferenzpipelines mit Linux-Kernelmodulen integrieren
  • Edge-ML-Frameworks (TensorFlow Lite) effizient einsetzen
  • GPL und ihre Varianten
  • LGPL und deren Vorteile für Bibliotheken
  • Permissive Lizenzen (MIT, BSD)
  • Mozilla Public License
  • Implikationen für kommerzielle Produkte
  • Praktikum: Ein vollständiges Machine Learning Problem vom Training bis zur Ausführung 

Mehr Details zur Durchführung

Der Unterricht findet berufsbegleitend alle zwei Wochen jeweils montags von 8:30 bis 12:00 Uhr sowie von 13:30 bis 17:00 Uhr statt (jeweils zwei Blöcke à 4 Lektionen). Der Kurs umfasst insgesamt 5 Unterrichtstage innerhalb eines Zeitraums von drei Monaten.

Den individuellen Stundenplan erhalten die Teilnehmenden spätestens einen Monat vor Kursbeginn. Die schulfreie Zeit richtet sich nach den Schulferien der Stadt Winterthur.

Kursdaten 2026: 
Montag, 02.03.2026
Montag, 16.03.2026
Montag, 30.03.2026
Montag, 13.04.2026
Montag, 04.05.2026

 

Beratung und Kontakt

Veranstalter

Dozierende

  • Prof. Dr. Matthias Rosenthal
  • Dominique Cachin

Anmeldung

Zulassungskriterien

Die Zulassung zu diesem Weiterbildungskurs setzt grundsätzlich einen Hochschulabschluss (Fachhochschule, HTL, HWV, Uni, ETH) voraus. Es können aber auch Praktiker:innen mit vergleichbarer beruflicher Kompetenz zugelassen werden, wenn sich die Befähigung zur Teilnahme aus einem anderen Nachweis ergibt.

Grundkenntnisse der Programmierung und erste Erfahrungen mit Linux werden erwartet. Ausserdem werden vorausgesetzt:

  • Grundkenntnisse der Linux-Kommandozeile und Systemadministration
  • Erfahrung in der Programmierung mit C
  • Grundlegende Software-Kenntnisse der Embedded-Entwicklung

Anmeldeinformationen

Wir führen keine Wartelisten und bieten keine Platzreservationen an.

Sollte bei der vorangehenden Durchführung ein Platz frei werden, berücksichtigen wir die Reihenfolge gemäss Anmeldeeingang.

Startdaten und Anmeldung

Start Anmeldeschluss Anmeldelink
02.03.2026 02.02.2026 Anmeldung