Embedded Linux Application Development
Classroom Schulung | Deutsch | Anspruch
Schulungsdauer: 5 Tage
Ziele
Dieses 5-tägige (40h) Workshop richtet sich an Personen, die mit Linux-basierten Embedded-Systemen arbeiten oder diese weiter entwickeln. Es ist aufgeteilt in 50% Vortrag und 50% praktischem Unterricht.
Die praktischen Übungen werden mit einem Microchip SAMA5D3 Xplained Entwicklungsboard (ARM Cortex-A5 CPU, 256MB RAM, 256MB NAND-Flash, 2 Ethernet-Ports) durchgeführt.
Inhalt:
1. Bootloader
2. C-Bibliothek und Cross-Compiler-Werkzeugkette
3. Cross-Compilierung für Anwendung und Kernel
4. Aufbau eines embedded Linux Systems
5. Tools für die Entwicklung eingebetteter Systeme und Anwendungen
6. Nutzung der Echtzeitfähigkeiten von Linux
Die dazu benötigte Hardware ist im Preis inbegriffen.
Zielgruppe
System-Entwickler.
Voraussetzungen
Erfahrung mit GNU/Linux- oder UNIX-Befehlen.
Agenda
Einführung in Embedded Linux
- Vorteile von Linux gegenüber den traditionellen Embedded-Betriebssystemen
- Allgemeine Architektur eines Embedded Linux Systems
Embedded Linux Entwicklungsumgebung
- Betriebssystem und Tools für den Einsatz auf dem Entwicklungsarbeitsplatz
Cross-Compilierung Toolchain und C-Bibliothek
- Was sich in einer Cross-Compilation-Toolchain befindet
- Auswahl der Ziel-C-Bibliothek
- Einsatzbereite Cross-Compilierungs-Toolchains für die Kompilierung von Toolchains
- Erstellen einer Cross-Compilierungs-Toolchain mit automatisierten Tools
Bootloader
- Verfügbare Bootloader
- Merkmale von Bootloadern
- Bootloader "Das U-Boot"
Linux Kernel
- Allgemeine Architektur des Linux-Kernels
- Verfügbare Funktionen mit Schwerpunkt Embedded
- Quellen abrufen
- Versionierung des Linux-Kernels
Konfiguration und Kompilierung eines Linux-Kernels
- Kernel-Konfiguration
- Verwendung von vorgefertigten Standardkonfigurationen
- Kernel-Kompilierung
- Verwendung von Kernelmodulen
Root-Dateisystem unter Linux
- Dateisysteme unter Linux
- Rolle und Organisation des Root-Dateisystems
- Speicherort des Root-Dateisystems (storage, memory, Netzwerk)
- Gerätedateien, virtuelle Dateisysteme
- Inhalt eines typischen Root-Dateisystems
Busybox
- Detaillierter Überblick und Funktionen des Schweizer Taschenmessers für Embedded Computing
- Konfiguration, Kompilierung und Bereitstellung
Block-Dateisysteme
- Dateisysteme für blockorientierte Geräte
- Journalisierte Dateisysteme
- Nur-Lese-Dateisysteme
- RAM-Dateisysteme
- Erstellung verschiedener Dateisysteme
- Verwendung in einem Embedded System
Nutzung vorhandener Open-Source-Software für Ihr System
- Gründe für die Nutzung bestehender Software
- Freie und quelloffene Software
- Auswahl von Komponenten
- Verschiedene Lizenzen und deren Anforderungen
- Übersicht über bekannte typische Komponenten in Embedded Linux Systemen
- Integration der Komponenten in Ihr System
Cross-Compilieren von Anwendungen und Bibliotheken
- Konfigurieren, Cross-Compilieren und Installieren von Anwendungen und Bibliotheken
- Details über Build-Systeme in den meisten Open-Source-Komponenten
- Übersicht über Probleme bei der Verwendung dieser Komponenten
Embedded System Building Tools (Buildroot)
- Überprüfung bestehender System Building Tools
- Buildroot als Beispiel
Anwendungsentwicklung und Debugging
- Programmiersprachen und verfügbare Bibliotheken
- Übersicht über die Funktionen der C-Bibliothek für die Anwendungsentwicklung
- Erstellung von Systemen für Ihre Anwendung
- Quellbrowser und integrierte Entwicklungsumgebungen (IDE)
- Debuggen von Remote-Anwendungen mit gdb und gdbserver
Linux und Echtzeit
- Verständnis der Ursachen für Latenzzeiten unter Linux
- Soft-Echtzeitlösungen unter Linux: integrierte Verbesserungen der Mainline Linux Version
- Verwendung der neuesten RT Preempt-Patches für Mainline-Linux
- Xenomai, eine harte Echtzeitlösung für Linux: Funktionen, Konzepte, Implementierung und Beispiele
Ziele
Dieses 5-tägige (40h) Workshop richtet sich an Personen, die mit Linux-basierten Embedded-Systemen arbeiten oder diese weiter entwickeln. Es ist aufgeteilt in 50% Vortrag und 50% praktischem Unterricht.
Die praktischen Übungen werden mit einem Microchip SAMA5D3 Xplained Entwicklungsboard (ARM Cortex-A5 CPU, 256MB RAM, 256MB NAND-Flash, 2 Ethernet-Ports) durchgeführt.
Inhalt:
1. Bootloader
2. C-Bibliothek und Cross-Compiler-Werkzeugkette
3. Cross-Compilierung für Anwendung und Kernel
4. Aufbau eines embedded Linux Systems
5. Tools für die Entwicklung eingebetteter Systeme und Anwendungen
6. Nutzung der Echtzeitfähigkeiten von Linux
Die dazu benötigte Hardware ist im Preis inbegriffen.
Zielgruppe
System-Entwickler.
Voraussetzungen
Erfahrung mit GNU/Linux- oder UNIX-Befehlen.
Agenda
Einführung in Embedded Linux
- Vorteile von Linux gegenüber den traditionellen Embedded-Betriebssystemen
- Allgemeine Architektur eines Embedded Linux Systems
Embedded Linux Entwicklungsumgebung
- Betriebssystem und Tools für den Einsatz auf dem Entwicklungsarbeitsplatz
Cross-Compilierung Toolchain und C-Bibliothek
- Was sich in einer Cross-Compilation-Toolchain befindet
- Auswahl der Ziel-C-Bibliothek
- Einsatzbereite Cross-Compilierungs-Toolchains für die Kompilierung von Toolchains
- Erstellen einer Cross-Compilierungs-Toolchain mit automatisierten Tools
Bootloader
- Verfügbare Bootloader
- Merkmale von Bootloadern
- Bootloader "Das U-Boot"
Linux Kernel
- Allgemeine Architektur des Linux-Kernels
- Verfügbare Funktionen mit Schwerpunkt Embedded
- Quellen abrufen
- Versionierung des Linux-Kernels
Konfiguration und Kompilierung eines Linux-Kernels
- Kernel-Konfiguration
- Verwendung von vorgefertigten Standardkonfigurationen
- Kernel-Kompilierung
- Verwendung von Kernelmodulen
Root-Dateisystem unter Linux
- Dateisysteme unter Linux
- Rolle und Organisation des Root-Dateisystems
- Speicherort des Root-Dateisystems (storage, memory, Netzwerk)
- Gerätedateien, virtuelle Dateisysteme
- Inhalt eines typischen Root-Dateisystems
Busybox
- Detaillierter Überblick und Funktionen des Schweizer Taschenmessers für Embedded Computing
- Konfiguration, Kompilierung und Bereitstellung
Block-Dateisysteme
- Dateisysteme für blockorientierte Geräte
- Journalisierte Dateisysteme
- Nur-Lese-Dateisysteme
- RAM-Dateisysteme
- Erstellung verschiedener Dateisysteme
- Verwendung in einem Embedded System
Nutzung vorhandener Open-Source-Software für Ihr System
- Gründe für die Nutzung bestehender Software
- Freie und quelloffene Software
- Auswahl von Komponenten
- Verschiedene Lizenzen und deren Anforderungen
- Übersicht über bekannte typische Komponenten in Embedded Linux Systemen
- Integration der Komponenten in Ihr System
Cross-Compilieren von Anwendungen und Bibliotheken
- Konfigurieren, Cross-Compilieren und Installieren von Anwendungen und Bibliotheken
- Details über Build-Systeme in den meisten Open-Source-Komponenten
- Übersicht über Probleme bei der Verwendung dieser Komponenten
Embedded System Building Tools (Buildroot)
- Überprüfung bestehender System Building Tools
- Buildroot als Beispiel
Anwendungsentwicklung und Debugging
- Programmiersprachen und verfügbare Bibliotheken
- Übersicht über die Funktionen der C-Bibliothek für die Anwendungsentwicklung
- Erstellung von Systemen für Ihre Anwendung
- Quellbrowser und integrierte Entwicklungsumgebungen (IDE)
- Debuggen von Remote-Anwendungen mit gdb und gdbserver
Linux und Echtzeit
- Verständnis der Ursachen für Latenzzeiten unter Linux
- Soft-Echtzeitlösungen unter Linux: integrierte Verbesserungen der Mainline Linux Version
- Verwendung der neuesten RT Preempt-Patches für Mainline-Linux
- Xenomai, eine harte Echtzeitlösung für Linux: Funktionen, Konzepte, Implementierung und Beispiele