Embedded-Linux-Architektur: Kernel-Treiberentwicklung

Vor Ort
Inhouse
StandorteMünchen
Dauer32 Stunden
SpracheDeutsch
Kurstermine 2 Startdaten
Preis ab 3.094,00 € inkl. MwSt.

Beschreibung

  • Wie entwickle ich einen Kernel-Treiber? Auf was muss ich bei Embedded- und Echtzeit-Systemen achten?
  • Essentiell für die Entwicklung eines performanten Treibers ist ein grundlegendes Verständnis der Kernel-Architektur. Genau hier setzt das Training an.
  • Zuerst wird ein Überblick über den Kernel-Aufbau gegeben und dann die für Embedded-Systeme relevanten Teile aufeinander aufbauend detailliert beleuchtet.
  • Aus diesen Puzzleteilen ergibt sich eine Gesamtsicht auf das Betriebssystem, wie sie für eine professionelle Treiberentwicklung vonnöten ist.
  • In der Übungsaufgabe ist ein Grundgerüst für einen Kernel-Treiber gegeben; dieses wird sukzessive um die besprochenen Mechanismen erweitert.
  • Am Ende des Trainings haben Sie einen kompletten Treiber erstellt und sind in der Lage, in Ihrem Projekt Treiber zu entwickeln.

Inhalte

  • Linux-Kernel Grundlagen
    • System-Schnittstelle, Privilegstufen
    • Virtuelles Filesystem, Adressräume
    • Gerätetreiber-Klassen (Character, Block, Net)
    • Kernel-Module
  • Character-Device-Treiber
    • Implementierung der Datei-Schnittstelle
    • Device Nodes
    • Udev-Dämon
    • Hardware-Zugriff; Register, IO-Memory, DMA
    • /proc- und /sys-Filesystem; Verwendung im Kernel-Treiber
  • Scheduling
    • Scheduling-Klassen
    • Prozesse und Threads, Kernel Threads
    • Wait Queue; unterbrechbares Warten
  • Interrupts
    • Interrupt Service Routine
    • Sekundärreaktionen (SoftIRQ, Tasklet, Kernel Timer)
    • High-Resolution-Timer (hrtimer)
  • Synchronisierungsmechanismen
    • Atomare Variablen
    • Preemption Sperre, Interrupt-Sperre
    • Ringspeicher, Kernel-FIFO
    • Semaphore, Mutex, RW-Semaphore
    • Completion
    • Spin Lock, RW-Lock, Sequence Lock
    • Diagnose von Lockingproblemen
  • Speicherverwaltung
    • Speicherschutz, Memory Management Unit (MMU)
    • Speichertypen, DMA, High Memory
    • Verwaltung physikalischen Speichers
    • SLAB-Allocator, Kernel-Malloc
    • Datenaustausch mit Userspace, Memory Mapping
  • Hardware
    • Alle Übungsaufgaben werden auf dem phyBOARD mit Arm Cortex®-A8 (AM-335x) unter Verwendung von frei zugänglichen Open-Source-Tools durchgeführt.

Zielgruppe

  • Software-Entwickler, Software-Architekten

Voraussetzungen

  • Das Niveau dieses Trainings setzt die Kenntnisse voraus, wie sie im Training "Embedded Echtzeit-Linux" vermittelt werden.

Zertifikate

Unterschriebenes Teilnahmezertifikat

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

MicroConsult Academy GmbH

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

Mehr über MicroConsult Academy GmbH