Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Embedded Linux Systeme
Ing. Manfred Schlägl
Ginzinger electronic systems GmbH
18.04.2013
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 1
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Ginzinger electronic systems GmbH
1 VorstellungGinzinger electronic systems GmbHIng. Manfred Schlägl
2 EinführungOpen Source und GNU/LinuxEmbedded Systeme
3 Embedded Linux SystemeSkalierbarkeitEchtzeit in Linux
4 Ginzinger Embedded LinuxHardwareembedded Linux Distribution � GELinHerausforderungen in Entwicklung und Produktion
5 EndeLiteratur und Web-Links
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 2
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Ginzinger electronic systems GmbH
Ginzinger electronic systems GmbH
www.ginzinger.com
Gründung 1991 durch Ing. Herbert Ginzinger
ca. 80 Mitarbeiter
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 3
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Ginzinger electronic systems GmbH
Branchen
Medizintechnik
Heizungsbranche
Verkehrs- undSicherheitstechnik
Maschinenbau
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 4
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Ginzinger electronic systems GmbH
Leistungsspektrum
Entwicklung maÿgeschneiderterelektronischer Baugruppen, von derProduktidee bis hin zur SerienfertigungFertigung
Bauteil- und Materialbescha�ungBauteilebestückung in Misch- und SMDTechnologieMontage von Komplettgeräten undBaugruppenumfangreiche Testeinrichtungen(Incircuit-Tester, AOI,...)
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 5
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Ginzinger electronic systems GmbH
Leistungsspektrum
Embedded solutionsLinux-Echtzeitbetriebssystemmaÿgeschneidert nach KundenwunschVielzahl an gra�schen Benutzerschnittstellen
LeistungselektronikEnergieeinsparung bei Geräten/Produkten mithohem Stromaufwand z.B. beiBeleuchtungsanlagen
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 6
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Ing. Manfred Schlägl
1 VorstellungGinzinger electronic systems GmbHIng. Manfred Schlägl
2 EinführungOpen Source und GNU/LinuxEmbedded Systeme
3 Embedded Linux SystemeSkalierbarkeitEchtzeit in Linux
4 Ginzinger Embedded LinuxHardwareembedded Linux Distribution � GELinHerausforderungen in Entwicklung und Produktion
5 EndeLiteratur und Web-Links
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 7
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Ing. Manfred Schlägl
Ing. Manfred Schlägl
HTBLA Braunau am Inn
Seit 2006 bei Ginzinger electronic systems
Seit 2013 am Standort LinzBetätigungsfeld:
System-Konzeption und Software-Entwicklung.Embedded Linux Entwicklung: Konzeption, Bootloader,Kernel, Distribution, . . .uC-Entwicklung: Konzeption, Betriebssysteme, Treiber, . . .Bus-Systeme und NetzwerkeKunden-ProjekteProjektplanung und -management
Studium der Informatik an der JKU Linz
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 8
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Open Source und GNU/Linux
1 VorstellungGinzinger electronic systems GmbHIng. Manfred Schlägl
2 EinführungOpen Source und GNU/LinuxEmbedded Systeme
3 Embedded Linux SystemeSkalierbarkeitEchtzeit in Linux
4 Ginzinger Embedded LinuxHardwareembedded Linux Distribution � GELinHerausforderungen in Entwicklung und Produktion
5 EndeLiteratur und Web-Links
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 9
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Open Source und GNU/Linux
Was ist Open Source?
Source-Code ist verfügbar und kann frei verwendet werden.
Frei wie in Freiheit, nicht wie in Freibier.
Zahllose Lizenzen � bekanntester Vertreter: GNU (L)GPL:(Lesser) General Public LicenceSoftware kann frei verwendet, modi�ziert und auch verkauft werden.Copyright bleibt immer beim Autor.Abgeleitete Software muss wieder unter GPL gestellt werden.
GPL .. dynamische und statische gelinkte Programme gelten als
abgeleitet.
LGPL .. nur dynamisch gelinkte Programme gelten als abgeleitet.
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 10
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Open Source und GNU/Linux
Was ist GNU?
GNU � GNU's Not Unix
1983 von Richard Stallman ins Leben gerufen.
Ziel: Vollständig verwendbare Freie Unix-Variante mit allenWerkzeugen.
Erstes GNU-Programm: Texteditor EMACS von RichardStallman.
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 11
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Open Source und GNU/Linux
Was ist Linux?
1991 von Linus Torvalds als Terminal-Programm gestartet.Erst als Lernprojekt für Intel 80386, dann freier Klon desakademischen Betriebssystems Minix von AndrewTannenbaum.Monolithischer Kernel statt Mikrokernel-Ansatz.1994 Linux-1.0 mit vollständiger TCP/IP-Unterstützung.Aktuelle Version: Linux-3.8 (Stand: 18.04.2013)
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 12
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Open Source und GNU/Linux
Was ist GNU/Linux?
GNU: Vollständiger Userspace, Lizenzmodel(GPL) aber kein(verwendbarer) Betriebssystem-Kern
Linux: Betriebssystem-Kern, aber keine Unix-Userspace.
Kombination um 1992 � Linux-Kernel wurde unter die GPLgestellt.Namens-Streit Linux vs. GNU/Linux
Bei einigen Distributionen wird sehr wenig GNU-basierende Softwareverwendet.Die Bezeichnung Linux wird aus Pragmatismus verwendet.
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 13
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Embedded Systeme
1 VorstellungGinzinger electronic systems GmbHIng. Manfred Schlägl
2 EinführungOpen Source und GNU/LinuxEmbedded Systeme
3 Embedded Linux SystemeSkalierbarkeitEchtzeit in Linux
4 Ginzinger Embedded LinuxHardwareembedded Linux Distribution � GELinHerausforderungen in Entwicklung und Produktion
5 EndeLiteratur und Web-Links
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 14
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Embedded Systeme
Herausforderungen
begrenzte Ressourcen(Platz, Rechenleistung, Speicher, Energie, . . . )
Schnittstellen zur physischen Umwelt
Kommunikation und Vernetzung
Echtzeit Anforderungen
Multimedia Anforderungen
Einbettung in komplexe Gesamt-Systeme
Kosten (Entwicklung und Produktion)
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 15
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Embedded Systeme
Warum ein Betriebssystem?
Generalisierung / Abstraktion
Verlässliche Basis
Plattform-unabhängige Software bzw. Code
komplexe Systeme(Treiber, Ressourcen-, Power -management, . . . )
Connectivity and Communications (Kommunikations-Stacks)
Mehrsprachigkeit und Internationalisierung
Multimedia (Audio, Video, . . . )
Dokumentation
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 16
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Embedded Systeme
Warum GNU/Linux als Betriebssystem?
Open source Software und Entwicklungs-ToolsUnbegrenzter Einblick (Fehlersuche, . . . )Hersteller-UnabhängigAnpassbarKooperative Weiterentwicklung
Umfangreiche Literatur
Umfangreiches Software-Angebot
Stabile Schnittstellen
Security
Skalierbarkeit
optional Echtzeit
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 17
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
1 VorstellungGinzinger electronic systems GmbHIng. Manfred Schlägl
2 EinführungOpen Source und GNU/LinuxEmbedded Systeme
3 Embedded Linux SystemeSkalierbarkeitEchtzeit in Linux
4 Ginzinger Embedded LinuxHardwareembedded Linux Distribution � GELinHerausforderungen in Entwicklung und Produktion
5 EndeLiteratur und Web-Links
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 18
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Embedded Linux auch auf kleinsten Geräten
Beispiele:
IBM Uhr 2002 Digi ME9210 2008
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 19
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Blu-ray Player, Set-Top Boxen. . .
Beispiele:
CMX BRP 1000 Blu-rayPlayer
Dream Multimedia DreamboxDM 800
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 20
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Spielkonsolen
Beispiel:
Valve Steam Box
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 21
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Router, NAS, Drucker, . . .Beispiele:
Linksys E2100L Iomega StorCenter
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 22
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Smartphones, Tablets, . . .
Betriebssysteme wie:
Google Android basierende
Google Chrome OS
MeeGo
Tizen
Ubuntu Touch
Sail�sh OS
. . .
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 23
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Netbooks, Notebooks, Workstations, . . .
Einsatz klassischer GNU/Linux-Distributionen wie:
Debian
Ubuntu
openSUSE
Red Hat
Slackware
. . .
Aber auch spezielle Betriebssysteme wie:
Google Android basierende
Google Chrom OS
. . .
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 24
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Server, Virtualisierung, Supercomputing, . . .
Ebenfalls klassische, aber auch spezielle GNU/Linux-Distributionen.
VMWare ESX : Virtualisierungs-Cluster
Supercomputer � Beispiel:
IBM Roadrunner
Linux Portierung auf NUMA-Maschinen
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 25
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Industrie, Automation, Automotive, . . .
Zahllose Einsatzgebiete:
Gebäude-Automation
Wärmemanagement / Heizungssteuerungen
Medizintechnik (Bedienung und Vernetzung)
Fleet-Management
Car Infotainment Systeme
. . .
ETA StückgutKessel
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 26
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Warum kann Linux auf sehr kleinen und sehrgroÿen Systemen eingesetzt werden?
Linux ist nicht gleich Linux!
Fast alle Linux basierenden Systeme werden als Linux bezeichnet,obwohl das Betriebssystem aus vielen Schichten und Komponentenbesteht.Skalierbarkeit wird erreicht durch:
Weglassen nicht benötigter Komponenten/Schichten
Ersetzen von Komponenten/Schichten durch alternativeImplementierungen.
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 27
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Software-Schichten
Linux-Kernel
Basis-Bibliotheken für C, C++, . . .(klibc, uClibc, eglibc, glibc, . . . )
Sonstige Bibliotheken (Kryptographie, Kommunikation,Multimedia, . . . )
Konsolen-Programme (Unix-Befehle, Administration undVerwaltung, . . . )
Server und Dämonen (File-Server, Gra�k-Server . . . )
div. Frameworks (Zusammenfassen und Abstrahieren derBibliotheken)
Window-Manager (Fenstersteuerung)
(gra�sche) Benutzer-Applikationen
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 28
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Beispiel: klassisches Desktop-SystemLinux-Kernel: Auf Reaktion abgestimmt, mit allen Treibern.Basis-Bibliotheken: glibcSonstige Bibliotheken: viele installiertKonsolen-Programme: voller Funktions-UmfangServer und Dämonen (Dienste):
File-Server (Samba, NFS, . . . )Gra�k-Server (Xorg, Wayland, . . . )Druck-Server (lpd, cups, . . . )System-Information und Steuerung (dbus, . . . ). . .
div. Frameworks: Qt, Gtk, KDE, Java, . . . )Window-Manager (Gnome, KDE, Unity . . . )(gra�sche) Benutzer-Applikationen (Firefox, LibreO�ce, . . . )
Gröÿenordnung: ca. 3-60GB (je nach installierter Software)Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 29
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Beispiel: Server-System ohne gra�sche Ober�äche
Linux-Kernel: Auf Durchsatz abgestimmt, mit allenbenötigten Treibern.
Basis-Bibliotheken: glibc
Sonstige Bibliotheken: benötigte installiert
Konsolen-Programme: voller Funktions-UmfangServer und Dämonen (Dienste):
File-Server (Samba, NFS, . . . )Druck-Server (lpd, cups, . . . )Datenbank-Server (Oracle, . . . )Web-Server (Apache, nginx . . . ). . .
Gröÿenordnung: ca. 0,5-20GB (je nach installierter Software)
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 30
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Beispiel: kleinstes Linux-System
Linux-KernelUnterstützung speziell für Ziel-Plattform.Benötigte Treiber �x im Kernel.Genau auf Anwendung abgestimmt.Applikation als Prozess im Kernel
Gröÿenordnung: ca. 0,7-3MB (nur Kernel)Hat in der Praxis wenig Relevanz!
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 31
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Beispiel: kleines embedded Linux-System
Linux-KernelUnterstützung speziell für Ziel-Plattform.Benötigte Treiber �x im Kernel.Genau auf Anwendung abgestimmt.Root-Filesystem(Userspace) als Image im Kernel eingepackt.
Basis-Bibliotheken: uClibc
C/C++ Applikation
Gröÿenordnung: ca. 3-10MB
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 32
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Beispiel: embedded Linux-System mit GUILinux-Kernel
Unterstützung speziell für Ziel-Plattform.Benötigte Treiber �x im Kernel.Auf Anwendung abgestimmt.
Basis-Bibliothek: eglibcSonstige Bibliotheken: genau auf Applikation abgestimmt.Konsolen-Programme: spezielle (in Funktion eingeschränkte)Embedded-Varianten (B: busybox)Server und Dämonen: nur für Applikation benötigte (B:kleiner Webserver)Framework: Qt Embedded (direkter Zugri� aufGra�k-Treiber)gra�sche Bedien-Applikation
Gröÿenordnung ca. 20-60MBIng. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 33
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Skalierbarkeit
Beispiele für weitere Möglichkeiten der Skalierung
Linux-KernelAlternative Task- und IO-Scheduler.Alternative Speicher-Allokatoren.. . .
Bootprozess:Desktop: Boot über Zwischensystem(Laden nötiger Treiber, Überprüfung der Festplatten, etc.).Embedded: direkter Boot in das Haupt-System.
Dateisysteme:kleine, schnelle Read-Only Dateisysteme. (cramfs, romfs, . . . )spezialisierte Flash-Dateisysteme. (j�s2, ubifs, . . . )
. . .
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 34
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Echtzeit in Linux
1 VorstellungGinzinger electronic systems GmbHIng. Manfred Schlägl
2 EinführungOpen Source und GNU/LinuxEmbedded Systeme
3 Embedded Linux SystemeSkalierbarkeitEchtzeit in Linux
4 Ginzinger Embedded LinuxHardwareembedded Linux Distribution � GELinHerausforderungen in Entwicklung und Produktion
5 EndeLiteratur und Web-Links
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 35
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Echtzeit in Linux
Echtzeit in Linux
Vorherrschende Meinung:Ein Betriebssystem kann konzeptuell nur entweder aufDurchsatz oder Reaktions-Zeit abgestimmt sein.
Wird durch preempt_rt teilweise widerlegt.Zwei Ansätze unter Linux:
Adeos/XenomaiPreempt_rt
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 36
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Echtzeit in Linux
Adeos/Xenomai
Nachfolger des kommerzielles Projekts RTAI.
Hinterliegende Konzepte:
Adeos: Kleiner Echtzeit-Kernel zwischen Linux-Kernel und Hardware.Interrupts und Timer werden durch Adeos verwaltet, und Xenomaiund dem Linux-Kernel und zur Verfügung gestellt.Xenomai : implementiert mächtige API's
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 37
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Echtzeit in Linux
Adeos/Xenomai
Ist eigentlich eine Art der Virtualisierung, aber mit sehr engerAnbindung das Linux-System.Vorteile:
Echtzeit-Prozesse werden als normale Linux-Programme gestartet →Scheduling wird vom Echtzeit-Kernel übernommen.Skins: Sourcen für andere Echtzeit-Betriebssysteme(VxWorks,pSOS+, . . . ) können für Xenomai übersetzt werden.Starke Trennung zwischen Linux- und Echtzeit-Prozessen.Treiber können im Userspace laufen (Interrupts).
Nachteile:Keine Unterstützung in Linux-Mainline.Kernel muss für den Betrieb unter Adeos modi�ziert werden.Sehr eingeschränkter Zugri� auf Linux-Ressourcen.
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 38
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Echtzeit in Linux
Preempt_rt
Hinterliegende Konzepte:Linux-Kernel selbst wird zum Echtzeit-Betriebssystem.Low-Level-Änderungen → Bestehende Kernel-API bleibt erhalten.
Wird erreicht durch:API für hoch genaue Timer (POSIX -Standard).Deterministischen Scheduler.Verschiebung der Interrupt-Behandlungen in Threads.Alle Betriebssystem-Prozesse unterbrechbar.Prioritäten für alle Prozesse/Threads.Synchronisations-Mechanismen mit Prioritätsbehandlung.
Durch Änderung am Low-Level werden alle Teile des BetriebssystemsEchtzeitfähig.
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 39
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Echtzeit in Linux
Preempt_rt
Vorteile:Jeder Prozess kann Echtzeit-Prozess werden.Zugri� auf Linux-Ressourcen aus Echtzeit-Prozess möglich.Unterstützung (fast) vollständig in Linux-Mainline.Schon sehr ausgereift und gut getestet.
Nachteile:Schwache Trennung zwischen normalen und Echtzeit -Prozessen.
Bei vielen Querwirkungen → Hohes Fehlerpotential.
Fehler im Linux-Kernel direkte Auswirkung auf Echtzeitverhalten.
Manche Ressourcen prinzipiell nicht deterministisch. (B: Festplatte)
Weiche Echtzeit und kurze Reaktionszeiten sind auch am Desktop sehrwichtig (B: Multimedia).Jeder aktuelle Linux-Desktop pro�tiert von Preempt_rt.
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 40
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Echtzeit in Linux
ProblemeEchtzeitfähigkeit/Determinismus hängt stark von verwendeterHardware ab.Power-Management
dynamic Frequency-ScalingIdle/Sleep-Modis. . .
CachesProzessor I-/D-Cache (�ush)Peripherie Caches
Bus-ManagementDurchsatz statt ReaktionDMA vs. CPU. . .
Moderne Applikations-Prozessoren sind für Echtzeit-Anforderungennur bedingt geeignet.
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 41
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Hardware
1 VorstellungGinzinger electronic systems GmbHIng. Manfred Schlägl
2 EinführungOpen Source und GNU/LinuxEmbedded Systeme
3 Embedded Linux SystemeSkalierbarkeitEchtzeit in Linux
4 Ginzinger Embedded LinuxHardwareembedded Linux Distribution � GELinHerausforderungen in Entwicklung und Produktion
5 EndeLiteratur und Web-Links
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 42
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Hardware
IMX53-Modul
Nachfolger zu ARM9 basierendem Board.
Power-Management
Prozessor: Freescale i.MX53(800MHz ARM Cortex A8)
RAM: 256MB DDR2 800
Flash: 256MB
Ethernet-Phy
div. Schnittstellen aufModul-Connector
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 43
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Hardware
Boards
Die Module werden in Kunden-spezi�schen Boards verbaut, aufwelchen die benötigen Funktionen implementiert werden.
Mechanik
Stromversorgung
Schnittstellen(Ethernet, USB, RS232, RS485, UART, CAN, . . . )
Display- und Touchscreen-Anbindung
Co-Prozessor für harte Echtzeit-Anforderungen
div. Kommunikations-Module
. . .
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 44
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
embedded Linux Distribution � GELin
1 VorstellungGinzinger electronic systems GmbHIng. Manfred Schlägl
2 EinführungOpen Source und GNU/LinuxEmbedded Systeme
3 Embedded Linux SystemeSkalierbarkeitEchtzeit in Linux
4 Ginzinger Embedded LinuxHardwareembedded Linux Distribution � GELinHerausforderungen in Entwicklung und Produktion
5 EndeLiteratur und Web-Links
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 45
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
embedded Linux Distribution � GELin
Top-Down Entwurf
Verwendung einer Standard Linux-Distribution:
Sehr gut getestet und gewartet.
Skalierung nur bis einem bestimmten Punkt einfach, dannsehr aufwendig.
Nicht auf die Verwendung auf kleinen Systemen ausgelegt. �groÿer Overhead!
Software-Entwicklung aufwendig (Cross-Kompilierung,Kompilierung am Target, . . . )
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 46
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
embedded Linux Distribution � GELin
Bottom-Up Entwurf
Eigens erstelltes Linux-System für jedes Projekt:
Kann perfekt auf Ziel-System abgestimmt werden.
Fehleranfällig und viel Wissen erforderlich.
Aufwändig in Erstellung und Wartung.
Aufwand wiederholt sich für jedes Projekt.
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 47
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
embedded Linux Distribution � GELin
Mittelweg
Erstellung/Verwendung einer Embedded Linux Distribution
Bottom-Up Entwurf nur einmal.
Generalisierung auf Kosten der Skalierbarkeit.
Abgestimmt auf eine bestimmte Plattform.
Fertige Konzepte und Werkzeuge für Software-Entwicklung,Debugging, Zusammenstellung des Gesamt-Systems,System-Update, . . .
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 48
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
embedded Linux Distribution � GELin
GELin
Auf spezielle Plattform abgestimmt.
Basierend auf Mainline-SoftwareTarget-Software
Bibliotheken und Programme in Binärform.Optimiert für spezi�sche Plattform.Spezielle Software für spezi�sche Plattform(Hardware-Beschleunigung, Low-Level Tools, . . . ).
Host-SoftwareCross-Compile -Toolchain und -Environment.Werkzeuge zum Kon�gurieren und Übersetzen des Linux-Kernels.Werkzeuge zum Anlegen, Entwickeln und Erzeugen von Projekten.
Umsetzung von System-Übergreifenden Konzepten(Produzierbarkeit, Debugging, System-Update, . . . )
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 49
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
embedded Linux Distribution � GELin
Funktions-Umfang
Entwicklungs-Umgebungen: Eclipse, Autotools, Make�les, . . .
Debugging: gdb, valgrind, . . .
Programmiersprachen: C/C++
Software-Frameworks: SDL, Qt, GTK+, GTKMM, . . .
Gra�k: Xorg, Qt Embedded, . . .
Multimedia: div. Audio/Video-Codecs, . . .
IT: IPv4, IPv6, ftp, http, VPN, SSL/TLS, ssh, . . .
. . .
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 50
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
embedded Linux Distribution � GELin
Erzeugen eines ProjektsAus dem Projekt wird mit einigen wenigen Kommandos das gesamteTarget-Root-Filesystem erzeugt.Basis-System: gelin_create_base.sh
Minimal-System mit ausgewählten Paketen. (kon�gurierbar)Muss nur bei Änderung der Basis-Kon�guration neu erzeugt werden.
Custom-System: gelin_create_custom.shSystem-VersionierungProjektspezi�sche Modi�kationenÜbersetzung und Installation von Applikations-Software
Root-Filesystem für Target: gelin_create_rootfs.hZusammenbinden von Basis- und Custom-SystemInstallation benötigter BibliothekenErzeugung von File-System-ImagesFreigabe auf TFTP- und NFS-Server
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 51
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
embedded Linux Distribution � GELin
Booten eines erzeugten Projekts
Netzwerk-Boot während Entwicklung und TestVerwendung während Entwicklung und Test.Target bootet Linux-Kernel von TFTP-Server.Target mountet NFS-Freigabe als Root-Filesystem.
Flash-Boot bei Tests und in SerieVerwendung bei Tests und in Serie.Kernel und Root-Filesystem wird durch Bootloader auf den Flashkopiert.Target bootet Linux-Kernel aus Flash.Target mountet Flash-Partition als Root-Filesystem.
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 52
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Herausforderungen in Entwicklung und Produktion
1 VorstellungGinzinger electronic systems GmbHIng. Manfred Schlägl
2 EinführungOpen Source und GNU/LinuxEmbedded Systeme
3 Embedded Linux SystemeSkalierbarkeitEchtzeit in Linux
4 Ginzinger Embedded LinuxHardwareembedded Linux Distribution � GELinHerausforderungen in Entwicklung und Produktion
5 EndeLiteratur und Web-Links
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 53
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Herausforderungen in Entwicklung und Produktion
System-Konzeption
Sammlung der AnforderungenAuswahl Komponenten (Prozessor, Speicher, . . . )
SchnittstellenPerformanceVerfügbarkeitIndustrietauglichkeitHard- und SoftwaresupportKosten
Systemweite KonzepteDesign für Inbetriebnahme und TestKompatibilität zum VorgängerUpdate-MechanismusPower-Management
Veri�kation anhand von Devboards
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 54
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Herausforderungen in Entwicklung und Produktion
Hardware-Entwicklung
Schnelle Signale(DDR2 mit 400MHz) (EMV)Layout der SignaleLagenaufbau, Impedanz-Kontrollierte LeiterplatteTreiberstärken und TerminierungenSignal-Simulationen im Vorfeld
Versorgung (EMV)dynamische Lastenhochfrequente LastsprüngeVersorgungs- und Masse-LagenStützung durch Kapazitäten (Lagenaufbau/Kondensatoren)
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 55
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Herausforderungen in Entwicklung und Produktion
Hardware-Entwicklung
BGA-DesignViele Pads / Pad GröÿenWires und Microwires zwischen PadsGleichmäÿige Wärmeverteilung (Löten)
TermindruckVersuchsmuster dauern sehr lange → Erster Schuss muss passen!Mehrfache Kontrolle von Schaltplan und Layout
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 56
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Herausforderungen in Entwicklung und Produktion
Software-Entwicklung
Low-Level SettingsDDR2 und NAND-FlashTreiberstärken und TerminierungenTimingOptimierungen
BootloaderDurchgehende KonzepteTestschnittstellen für Inbetriebnahme und ProduktionNAND-Flash � Bad-Block Management
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 57
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Herausforderungen in Entwicklung und Produktion
Software-Entwicklung
Kernelspezi�scher Modul- und Board-Code (Hardware-Beschreibung)NAND-Flash � Bad-Block ManagementFehlerkorrektur der Treiber aus BSPLernen neuer Schnittstellen und FrameworksEntwicklung und Einbindung weiterer benötigter Treiber
GELinOptimierung der ToolchainNutzbar machen der HardwarebeschleunigerIntegration neuer Komponenten (Multimedia, . . . )
TermindruckEntwicklung parallel zu Hardware (Trockenprogrammieren)
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 58
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Herausforderungen in Entwicklung und Produktion
Produktion
Bauteile (BGA's)WärmeverzugFeuchtigkeit
Leiterplatte und LötenOber�äche der LeiterplatteDurchbiegung der LeiterplatteVerunreinigungenLötpro�l
UntersuchungenMikroskopieAbrisstestsRöntgenSchli�-BilderKlima-Stresstests
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 59
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Herausforderungen in Entwicklung und Produktion
Veri�kation
MessungenCompliance MessungenVergleich mit Simulation
Langzeit-Tests im KlimaschrankDDR2 Stress-TestsNAND-Flash Stress- TestsCPU-Stress Tests
EMV-MessungenEntwicklung geeigneter Stress-TestsAutomatisiert und WiederholbarSchirmungen teuerProblem: Nicht terminierte Leitungen (Display)
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 60
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Literatur und Web-Links
1 VorstellungGinzinger electronic systems GmbHIng. Manfred Schlägl
2 EinführungOpen Source und GNU/LinuxEmbedded Systeme
3 Embedded Linux SystemeSkalierbarkeitEchtzeit in Linux
4 Ginzinger Embedded LinuxHardwareembedded Linux Distribution � GELinHerausforderungen in Entwicklung und Produktion
5 EndeLiteratur und Web-Links
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 61
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Literatur und Web-Links
Literatur 1
Linux KernelJust for Fun: Wie ein Freak die Computerwelt revolutionierte.Die Biographie des Linux-Er�ndersvon David Diamond, Linus Torvalds(ISBN-13: 978-3423362993)Understanding the Linux Kernelvon Daniel P. Bovet, Marco Cesati Ph.D.(ISBN-13: 978-0596005658)Linux-Treiber entwickeln: Eine systematische Einführung inGerätetreiber für den Kernel 2.6von Eva-Katharina Kunst(ISBN-13: 978-3898646963)
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 62
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Literatur und Web-Links
Literatur 2
Embedded LinuxBuilding Embedded Linux Systemsvon Karim Yaghmour, Jon Masters, Gilad Ben-Yossef, Philippe Gerum(ISBN-13: 978-0596529680)Embedded Linux Development Using Eclipsevon Doug Abbott(ISBN-13: 978-0750686549)
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 63
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Literatur und Web-Links
Web-Links 1Ginzinger electronic systems
Ginzinger electronic systemshttp://www.ginzinger.com
Allgemein Open Sourcefsfe - Free Software Foundation Europehttp://fsfe.org
OSADL - Open Source Automation Development Labhttp://www.osadl.com
Linux-KernelThe Linux Kernel Archiveshttps://www.kernel.org
Linux Kernel Newbieshttp://kernelnewbies.org
The Linux Kernel Mailing List Archivehttps://lkml.org
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 64
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Literatur und Web-Links
Web-Links 2GNU
GNUhttp://www.gnu.org
Embedded Linux ToolkitsOpenEmbeddedhttp://www.openembedded.org
buildroothttp://www.buildroot.org
DiversesQThttp://qt.digia.com
Real-Time Linux Wikihttps://rt.wiki.kernel.org/index.php
Adeos/Xenomaihttp://www.xenomai.org/
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 65
Vorstellung Einführung Embedded Linux Systeme Ginzinger Embedded Linux Ende
Ende
Ende
Vielen Dank für ihre Aufmerksamkeit!
Ing. Manfred Schlägl Ginzinger electronic systems GmbH
Embedded Linux Systeme 66