Themenvorschlaege für Studienarbeiten im Fach Embedded Linux
Sommersemester 2009
Dr. Hubert Hoegl <Hubert.Hoegl@hs-augsburg.de>
Inhalt
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)
Text
Terminals
Ncurses
STFL (Structured Terminal Forms Language/Library)
Grafik
- Framebuffer
- Nano-X
- FLTK
- SDL
- Qt
- ViewML/FLNX/Pixil (GPL Variante von pixil.org)
- viele weitere...
Literatur
Raghavan, Kapitel 9 (Embedded Graphics)
Das Linux Framebuffer Device, c't 9/2004, ab Seite 194.
Dennis Schön und Bernhard Kuhn, Framebuffer konfigurieren und anwenden, Linux-Magazin 10/2000.
https://www.linux-magazine.com/w3/issue/03/EmbeddedGraphics.pdf
Framebuffer Dokumentation im Kernel
<linux-source-2.x.xx>/Documentation/fb
http://www.directfb.org und LiTE Toolkit
Eine Zusammenfassung von vielen vielen Möglichkeiten, um Grafik unter Embedded Linux zu produzieren:
Embedded Linux Graphics Quick Reference Guide http://www.linuxdevices.com/articles/AT9202043619.html
- Buildroot
- ELDK
- Ptxdist
- T2
- Gentoo Embedded
- OpenEmbedded
- EmDebian
- OpenWRT
- Servo (PWM)
- Schrittmotor
- GPIO
- ...
- 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)
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.
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)
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)
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
Brandon White, Linux 2.6: A Breakthrough for Embedded Systems, 2003
Wilhelm Dolle, Christoh Wegener, CPU Scheduling im 2.6er Linux Kernel, iX 2/2005.
Wilhelm Dolle, Christoh Wegener, I/O Scheduling in Linux 2.6, iX 7/2005.
Joe Pranevich, The Wonderful World of Linux 2.6
Anand K Santhanam, A look into the workings of the next new kernel, IBM developerWorks.
http://www.ibm.com/developerworks/linux/library/l-inside.html
Robert Love, Linux Kernel Development, Novell Press, 2nd Edition.
Claudia Salzberg Rodriguez und andere, The Linux Kernel Primer, Prentice Hall 2006.
- mtrace, dmalloc, electric fence, valgrind
- eProf, oprofile
- JTAGICE mkII und avr32-gdb-server
- OpenOCD
- BDI2000
- CPU Architektur
- Befehlssatz
- Clock
- Power Management
- Peripherie
- Debugging
Reproduzierbarkeit
Versionskontrolle (Git)
Einspeisung in Upstream
Software Test
Rechtliche Aspekte
GPLv2, GPLv3
Offenlegung
Proprietäre Teilbereiche
- Anwendungen
- Treiber
U-Boot
- Funktionsumfang
- Struktur des Quelltextes
- Portierung auf neue Boards/Prozessoren
Redboot
Literatur
- Yaghmour, 2. Auflage, Kapitel 9 (Setting Up the Bootloader)