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

Tags

Diese Seite weiterempfehlen