Embedded-Linux-Architektur: Kernel-Treiberentwicklung - Seminar / Kurs von MicroConsult GmbH

Embedded-Linux-Architektur: Kernel-Treiberentwicklung

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.
  • Dieses Übungsboard können die Teilnehmer zur weiteren Vertiefung des Gelernten behalten.

Lernziele

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.

Zielgruppen

Software-Entwickler, Software-Architekten

Termine und Orte

Datum Dauer Preis
München, DE
26.10.2020 - 29.10.2020 32 h Jetzt buchen ›
15.03.2021 - 18.03.2021 32 h Jetzt buchen ›

SG-Seminar-Nr.: 5330798

Anbieter-Seminar-Nr.: LINUXE-AR

Termine

  • 26.10.2020 - 29.10.2020

    München, DE

  • 15.03.2021 - 18.03.2021

    München, DE

Preise inkl. MwSt. Es können Gebühren anfallen. Für eine exakte Preisauskunft wählen Sie bitte einen Termin aus.

Jetzt buchen ›
Seminar merken ›

Semigator berücksichtigt

  • Frühbucher-Preise
  • Last-Minute-Preise
  • Gruppenkonditionen

und verfügt über Sonderkonditionen mit einigen Anbietern.

Der Anbieter ist für den Inhalt verantwortlich.

Über Semigator mehr erfahren

  • Anbietervergleich von über 1.500 Seminaranbietern
  • Vollständige Veranstaltungsinformationen
  • Schnellbuchung
  • Persönlicher Service
Datum Dauer Preis
München, DE
26.10.2020 - 29.10.2020 32 h Jetzt buchen ›
15.03.2021 - 18.03.2021 32 h Jetzt buchen ›