Arthur Baran
Inhalt Embedded System Aufbau von Embedded Linux Systemen Echtzeit Einige Beispiele Arthur Baran 2
Was ist Embedded System? klein verborgen im Gerät soll eine bestimmte Aufgabe erledigen Arthur Baran 3
Definition von Embedded System Eingebettete Systeme sind kleine Rechnersysteme, die von außen als solche nicht erkennbar sind, die aber ihre Arbeit verborgen im Gerät verrichten. Arthur Baran 4
Was ist Linux? Kernel (ursprünglich entwickelt von Linus Torvalds) jede Menge verschiedener tools kostenlos Quellcode ist für jedermann verfügbar Arthur Baran 5
Warum gerade Linux? Betriebssystem bietet schon ausgereifte Treiber für verschiedene Hardware keine Neuentwicklung von Problemen die schon gelöst wurden sehr gute Netzwerkunterstützung Quellcode verfügbar damit auch individuell anpassbar kostenlose Verfügbarkeit für jedermann Arthur Baran 6
Embedded Linux Kleines Rechnersystem, auf dem ein, in der Größe stark verkleinertes und speziell auf die Hardware angepasstes Linux Betriebssystem mit der dazugehörigen Software läuft. Arthur Baran 7
CPU Hardware 32-bit Prozessoren/Microcontroller mit einer MMU z.b.: i386, MMIPS, SPARC, ARM, 68000 für Microcontroller ohne MMU ( z.b. Coldfire, Dragonball) gibt es eine spezielle Entwicklung µclinux (Microcontroller Linux) Speicher Flash Speicher: ab 2 MB RAM: ab 8 MB Weitere Hardware nach Bedarf Arthur Baran 8
Startkonzept Da eingebettete Systeme meistens keine Festplatte haben müssen dort andere Strategien zum Booten eingesetzt werden, wie z.b.: Flash-Disk Boot Netzwerk-Boot ROM-Boot Arthur Baran 9
Bootvorgang 1. RAM-Disk im DRAM einrichten 2. Dateisystem in der RAM-Disk erzeugen 3. Komprimierten Image aus dem Flash in die RAM-Disk dekomprimieren 4. Sprung zu den Kernelstartroutinen Arthur Baran 10
Kernel wichtigste Komponente eines Linux Betriebsystems stellt die Verbindung zwischen Hardware und Software dar für den Einsatz in eingebetteten Systeme muss er speziell an diese angepasst werden Arthur Baran 11
C Library Zentraler Bestandteil eines Linux-Betriebssystems beinhaltet Funktionen die von fast allen Programmen benötigt werden z.b.: write malloc fork... Arthur Baran 12
GNU libc sehr umfangreiche C-Bibliothek für eingebettete Systeme schlecht geeignet, da sehr groß (4 MB, ca. 1 MB gestript) Arthur Baran 13
µclibc speziell für den Einsatz in eingebetteten Systemen entwickelt klein ca. 470 KB (ca. 339 KB gestript) weitestgehend zu der glibc kompatibel Arthur Baran 14
Weitere C-Bibliotheken newlib http://sources.redhat.com/newlib/ diet-libc http://www.fefe.de/dietlibc/ Arthur Baran 15
BusyBox Kombiniert eine kleine Version der meistgebrauchten Linux Programme wie, z.b.: cat, cp, ls, tar, gzip,..., in einer einzigen ausführbaren Datei Entwickelt für Anwendungen die mit wenig Speicher auskommen müssen Modular man kann die benötigten Kommandos zur Kompilierungszeit auswählen Arthur Baran 16
Benutzung von BusyBox Man kann BusyBox auf zwei Arten benutzen: 1. durch Eingabe des Kommandos als Parameter von BusyBox >./BusyBox ls 2. anlegen eines symbolischen Links mit dem Namen des Kommandos >./ln -s./busybox ls direkter Aufruf des entsprechenden Kommandos >./ls Arthur Baran 17
TinyLogin Ähnliches Tool wie BusyBox, beinhaltet jedoch nur Kommandos zum Einloggen, Authentifikation, Benutzer- / Gruppenverwaltung: adduser, addgroup, deluser, delgroup, login, su, sulogin, passwd, getty Benutzung und Konfiguration wie bei BusyBox Kann mit oder ohne BusyBox eingesetzt werden Arthur Baran 18
Echtzeit Die Korrektheit des Systems ist nicht nur von dem funktionalen Ergebnis abhängig, sondern auch von der Zeit in der dieses Ergebnis geliefert wurde vorgegebene Antwortzeiten müssen eingehalten werden deterministisches Verhalten Arthur Baran 19
Harte Echtzeit genau festgelegte Antwortzeiten müssen garantiert werden Abweichungen von den Vorgaben sind nicht zulässig Arthur Baran 20
Weiche Echtzeit Überschreitung der Antwortzeit innerhalb festgelegter Grenzen wird toleriert Arthur Baran 21
Echtzeit und Linux Standard Linux erfüllt nicht die harten Echtzeit Anforderungen Prozesse im Kernel-Mode nicht unterbrechbar Kritische Bereiche des Kernel-Code schalten Interrupts ab Keine definierten Antwortzeiten beim Zugriff auf Kommunikationseinrichtungen wie Ethernet Arthur Baran 22
Implementierungen unter Linux RT-Linux entwickelt am New Mexico Institute of Mining and Technology RTAI (Real Time Application Interface) entwickelt am Dipartimento di Ingegneria Aerospaziale des Politecnico di Milano Arthur Baran 23
Aufbau von RTAI Arthur Baran 24
Einsatzgebiete Unterhaltungselektronik, Digitale Settopboxen, MP3-Player Industriesteuerungen (SPS-Systeme, Messsysteme) Raumfahrt und Militär... Arthur Baran 25
Linuxserver von Axotec Maschinenkontrolle, Protokoll Konverter, Messsyteme, Fahrzeugrechnereinatz 2 serielle Anschlüsse, 10 Base T Ethernet Arthur Baran 26
Motorola A760 javabasiertes multimedia application framework Video-, Musikplayer, Addressbuch, Kalender,... Arthur Baran 27
Raytheon s Excalibur GPS gesteuerte Artillerie Rakete Arthur Baran 28
Danke für Ihre Aufmerksamkeit Arthur Baran 29