Themenvorschlaege für Studienarbeiten im Fach Embedded Linux

Sommersemester 2009

Dr. Hubert Hoegl <Hubert.Hoegl@hs-augsburg.de>

Inhalt

1   Echtzeit

Literatur

  • Eva-Katharina Kunst, Jürgen Quade, Echtzeitsysteme mit Linux, Linux-Magazin 6/2008 (4 Seiten).
  • Yaghmour, 2. Auflage, Kapitel 12 (Real-Time Linux), 13 (Xenomai) und 14 (RT Patch).
  • Hallinan, Kapitel 17 (Linux and Real Time)
  • Raghavan, Kapitel 7 (Real-Time Linux)

2   User Interface

Literatur

3   Build Systeme

  • Buildroot
  • ELDK
  • Ptxdist
  • T2
  • Gentoo Embedded
  • OpenEmbedded
  • EmDebian
  • OpenWRT

4   Ansteuern Robotik-Hardware

  • Servo (PWM)
  • Schrittmotor
  • GPIO
  • ...

5   Speichertechnologien und Filesysteme

  • Flash Speicher (MTD)
  • RAMFS
  • CRAMFS
  • JFFS2
  • UBIFS, LOGFS

Literatur

  • Yaghmour, 2. Auflage, Kapitel 7 (Storage Device Manipulation) und Kapitel 8 (Root Filesystem Setup)
  • Hallinan, Kapitel 9 (File Systems), Kapitel 10 (MTD Subsystem)
  • Raghavan, Kapitel 4 (Embedded Storage)

6   Applikationsentwicklung

  • Autokonfiguration

  • Kommandozeile (getopt und readline)

  • Funktionsumfang von POSIX-konformen Bibliotheken (z.B. uClibc)

  • Logging

  • Zusammenspiel mit dem Gerätetreiber

  • Timer, Signale

  • Interrupts

  • Threads
    • Synchronisation mit Mutex und Condition Variables

Literatur

  • Robert Love, Linux System Programming, O'Reilly 2007.

7   Gerätetreiber

Zeichen- und blockorientierte Treiber

Beispiele

  • UART
  • GPIO
  • SPI
  • I2C
  • Timer
  • PWM

Literatur

  • Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman, Linux Device Drivers (freier Download)

    http://lwn.net/Kernel/LDD3

  • Jürgen Quade, Eva-Katharina Kunst, Linux-Treiber entwickeln, dpunkt Verlag, 2. Auflage.

  • Sreekrishnan Venkateswaran, Essential Linux Device Drivers, Prentice Hall.

  • Hallinan, Kapitel 8 (Device Driver Basics)

  • Raghavan, Kapitel 5 (Embedded Drivers)

8   Kernel-Technik

Neuerungen im 2.6 Kernel

  • Scheduling
  • Semaphor, Mutex
  • User-space Mutex
  • NUMA
  • POSIX threads, signals, high-resolution timers
  • Subarchitecture
  • Konfigurierbar: Läuft auch ohne Tastatur, Maus und Display (Embedded Systems)
  • Bluetooth (SCO, L2CAP)
  • Linux on uControllers

Literatur

9   Debuggen

  • mtrace, dmalloc, electric fence, valgrind
  • eProf, oprofile
  • JTAGICE mkII und avr32-gdb-server
  • OpenOCD
  • BDI2000

10   AVR32 Architektur

  • CPU Architektur
  • Befehlssatz
  • Clock
  • Power Management
  • Peripherie
  • Debugging

11   Software Engineering

  • Reproduzierbarkeit

  • Versionskontrolle (Git)

  • Einspeisung in Upstream

  • Software Test

  • Rechtliche Aspekte

    • GPLv2, GPLv3

    • Offenlegung

    • Proprietäre Teilbereiche

      • Anwendungen
      • Treiber

12   U-Boot und ähnliche Bootloader

Literatur

  • Yaghmour, 2. Auflage, Kapitel 9 (Setting Up the Bootloader)