Modulhandbuch

Elektrotechnik/Informationstechnik (EIM)

Advanced Embedded Systems

Empfohlene Vorkenntnisse

Fortgeschrittene Kenntnisse in C und C++
Linux
Optional: Rechnerarchitekturen

Lehrform Vorlesung/Labor
Lernziele / Kompetenzen
  • Die Studierenden erlernen ein grundlegendes Verständnis der Funktionsweise eines Embedded Linux Systems vom Bootloader bis zur Applikation.
  • Die Studierenden sind dazu in der Lage Embedded Linux zu verstehen, den Linux Kernel zu bauen und anzupassen.
  • Die Studierenden beherrschen Kernel- und Systemprogrammierung sicher.
  • Die Studierenden erstellen umfangreiche grafische und parallele Anwendungen mittels Qt.
Dauer 1
SWS 6.0
Aufwand
Lehrveranstaltung 90h
Selbststudium / Gruppenarbeit: 120h
Workload 210h
ECTS 7.0
Voraussetzungen für die Vergabe von LP

Embedded Linux: Klausur (K60) und erfolgreiche Laborteilnahme

Modulverantwortlicher

Prof. Dr.-Ing. Daniel Fischer

Empf. Semester 1
Haeufigkeit jedes Jahr (SS)
Verwendbarkeit

Master-Studiengang EIM; Vertiefungsmodul

Veranstaltungen

Embedded Linux

Art Vorlesung
Nr. EMI2243
SWS 2.0
Lerninhalt
  • Definition Embedded Linux
  • Lebenszyklus eines Embedded Linux-Systems (Entwurf, Entwicklung, Deployment/Inverkehrbringung, Produktpflege)
  • Konzept der Bootloader
  • Root-Dateisystem, Inhalt und Erstellung
  • Buildsysteme für das RootFS (Yocto, Buildroot, Elbe, ...)
  • Linux Kernel
  • Kerneltreiber
  • Init-System
  • Applikationsentwicklung und Cross-Compilierung
  • Debugging und Fehlersuche
  • Deployment
  • Produktpflege und Softwareupdates im Feld
Literatur

Yaghmour, K., Building Embedded Linux Systems, O'Reilly Verlag, 2. Auflage, 2008
Bovet, D, P., Cesati M., Understanding the Linux Kernel, O'Reilly Verlag, 3. Auflage, 2006
Corbet, J., Linux Device Drivers, O'Reilly Verlag, 3. Auflage, 2003

Labor Kernel- und Systemprogrammierung

Art Labor
Nr. EMI2244
SWS 2.0
Lerninhalt

•Bedienung eines Linux-Systems (Kommandozeile)
•Vertiefung des Verständnisses des Bootvorgangs
•Entwicklungsumgebung und Cross-Compilierung
•Linux Kernel konfigurieren und compilieren
•Treiberentwicklung im Linux Kernel
•Init-System SystemD
•Entwicklung von systemnahen Programmen
•Debugging/Fehlersuche

Literatur

Love, R., Linux System Programming, O'Reilly Verlag, 2. Auflage, 2013
Corbet, J., Linux Device Drivers, O'Reilly Verlag, 3. Auflage, 2003

Labor Anwendungsentwicklung

Art Labor
Nr. EMI2245
SWS 2.0
Lerninhalt
  • Anwendungsentwicklung mit Qt und Qt Creator
  • Signal- und Slot-Prinzip
  • Qt Metaobject Language (QML)
  • Erstellung von grafischen Benutzerschnittstellen mit Qt
  • Parallelprogrammierung mit Multithreading
  • Test von Anwendungen mit Qt Test
  • Crosscompilierung
  • Nutzung von C++1x-Features bei Embedded Systems
Literatur

Symean Huang, Qt 5 Blueprints, Packt Publishing, 2015
Lee Zhi Eng, Qt 5 C++ GUI Programming, Packt Publishing, 2016
Lazar, G., Mastering Qt 5, Packt Publishing, 2016