LFD450 Embedded Linux Entwicklung

Online
Inhouse
StandorteOnline
Dauer4 Tage
SpracheDeutsch
Kurstermine 1 Startdatum
Preis ab 2.255,05 € inkl. MwSt.

Beschreibung

In dieser 4-tägigen Schulung "LFD450 Embedded Linux Entwicklung" erlernen die Teilnehmer die essenziellen Techniken für die Entwicklung von Embedded Linux Geräten. Die Schulung legt besonderen Fokus auf verschiedene Schwerpunkte. Dazu gehören vertiefte Kenntnisse über die Architektur des Linux-Kernels, insbesondere in Bezug auf die Anpassung an eine eingebettete Plattform. Des Weiteren werden Methoden zur Ermittlung der optimalen Systemgröße entsprechend den individuellen Projektanforderungen behandelt. Die Schulung vermittelt außerdem das Know-how zur Nutzung verschiedener Ressourcen zur Einrichtung einer Cross-Entwicklungsumgebung für Embedded-Systeme. Teilnehmer werden dazu befähigt, die verfügbaren Optionen für Bibliotheken und Application User-Spaces zu analysieren und auf die Anforderungen von Embedded-Systemen abzustimmen. Die Schulung deckt eine breite Palette weiterer relevanter Themen ab.

Zum Seminar: LFD450 Embedded Linux Entwicklung

Inhalte

Einführung

  • Die Linux Foundation
  • Urheberrecht und keine vertraulichen Informationen
  • Schulungen der Linux Foundation
  • Zertifizierungsprogramme und digitale Auszeichnungen
  • Linux-Distributionen
  • Plattformen
  • Vorbereitung Ihres Systems
  • Änderungen in Linux
  • Dokumentation und Links

Vorbereitungen

  • Linux-Distributionen
  • Installation der virtuellen Maschine
  • Verfahren

Wie man in OSS-Projekten arbeitet

  • Überblick, wie man richtig beiträgt
  • Wissen, woher der Code kommt: DCO und CLA
  • Nah am Mainline bleiben für Sicherheit und Qualität
  • Herausfinden, welches Problem Sie lösen möchten
  • Betreuer und ihre Arbeitsabläufe und Methoden identifizieren
  • Frühzeitig Feedback einholen und offen arbeiten
  • Schrittweise Beiträge leisten, keine großen Code-Dumps
  • Geduldig sein, langfristige Beziehungen entwickeln, hilfreich sein

Eingebettete und Echtzeit-Systemkonzepte

  • Grundlegende Konzepte
  • Schutzmotivationen
  • off the Shelf (OTS)
  • Echtzeit-Betriebssysteme
  • Echtzeit-Linux
  • Unterstützung für benutzerdefinierte Hardware
  • Ressourcen

Cross-Entwicklungsumgebungen: Ziele und Bedürfnisse

  • Einführung
  • Warum ist es schwierig?
  • Projektzielüberlegungen

Kbuild-System

  • Einführung
  • Kbuild-Makefiles
  • Kconfig-Grundlagen
  • Kconfig durchsuchen

Cross-Entwicklungstoolchain

  • Der Compiler-Triplet
  • Eingebauter Cross-Compiler für Linux-Distributionen
  • Linaro
  • CodeSourcery
  • crosstool-ng
  • Buildroot
  • OpenEmbedded
  • Yocto-Projekt
  • Clang

QEMU

  • Was ist QEMU?
  • Warum QEMU verwenden?
  • Emulierte Architekturen
  • Image-Formate

Booten eines Zielentwicklungsboards von uSD

  • Warum verwenden wir uSD-Karten?
  • Software auf eine uSD-Karte bekommen
  • Von Flash booten
  • Warum die Verwendung von uSD-Karten eine schlechte Idee ist?

Booten eines Zielentwicklungsboards über Ethernet

  • Verwendung von virtueller Hardware
  • Ein einfacherer Weg zu entwickeln
  • Der Boot-Prozess mit TFTP und NFSroot

Bootloader und U-Boot

  • Bootcode-Stufen
  • Einige GPL-BIOSes
  • Einige GPL-Bootloader
  • Das U-Boot
  • U-Boot-Kommandozeile
  • U-Boot-Umgebung

Kernel-Konfiguration, -Kompilierung, -Booten

  • Konfiguration des Kernels für das Entwicklungsboard

Gerätetreiber

  • Gerätetypen
  • Geräte Nodes
  • Zeichentreiber

Device Trees

  • Was sind Device Trees?
  • Was Device Trees tun und was sie nicht tun
  • Device Tree-Syntax
  • Device Tree-Durchgang
  • Device Tree-Bindungen
  • Device Tree-Unterstützung in Bootloadern
  • Verwendung von Device Tree-Daten in Treibern
  • Koexistenz und Konvertierung alter Treiber

Ziel-Dateisystem-Packaging

  • Ziele des eingebetteten Dateisystems
  • Verzeichnisse: ein Überblick
  • Typen von eingebetteten Dateisystemen

Root-Dateisystem-Auswahl

  • SysV init vs. BusyBox init
  • udev vs. BusyBox mdev
  • Systemd
  • Auswahl der C-Library

Konfiguration von uClibc

  • Konfiguration von uClibc für NFS

Eine weitere alternative C-Bibliothek: musl

  • Was ist musl?
  • Konfiguration von BuildRoot für musl

BusyBox-Dienstprogrammsuite erstellen

  • Grundlegende Funktionsweise
  • Integration mit Buildroot

Kernel-Überwachung und -Debugging

  • Tracing und Profiling
  • Ftrace, Trace-Cmd, Kernelshark
  • Perf
  • Verwendung von perf
  • sysctl
  • SysRq-Taste
  • oops-Meldungen
  • Kernel-Debugger
  • debugfs

Richtige Größe

  • Oft benötigte eingebettete Komponenten
  • Bestandsaufnahme der Kernelgrößen

Speichertechnologie-Geräte (Flash-Speicher-Dateisysteme)

  • Was sind MTD-Geräte?
  • NAND vs. NOR vs. eMMC
  • Treiber- und Benutzer-Module
  • Flash-Dateisysteme

Komprimierte Dateisysteme

  • SquashFS
  • Einsatz in einer MTD-Partition
  • Labore

System-Upgrades

  • Wann müssen wir aktualisieren?
  • Update-Strategien
  • Vorgefertigte Upgrade-Systeme

Echtzeit-Erweiterungen

  • Vorhersagbarkeit und Präemption und Sperren
  • PREEMPT RT-Projekt
  • Echtzeit-Checkliste

Zielgruppe

  • Erfahrene Entwickler
  • Programmierer und Ingenieure

Voraussetzungen

Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:

  • Vertrautheit mit Linux-Dienstprogrammen
  • Kenntnisse in der C-Programmierung
  • Erfahrung in der Linux- oder Unix-Entwicklung

Weitere Infos

Haben Sie Fragen zu diesem Kurs? Füllen Sie das folgende Formular aus und wir melden uns bei Ihnen.

Kostenlose Beratung
Sichere Anfrage
Geprüfter Anbieter

Über den Anbieter

New Elements GmbH / IT-Schulungen.com

Ein zertifizierter Anbieter für qualitativ hochwertige Kurse und Schulungen.

Mehr über New Elements GmbH / IT-Schulungen.com