Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Embedded-Linux-Architektur: Kernel-Treiberentwicklung

  • Inhalt
     
  • Ziele -
    Ihr Nutzen
  • Teilnehmer
     
  • Voraussetzungen
     

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.

Software-Entwickler, Software-Architekten

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

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.


Im Preis enthalten:

Mittagessen, Getränke, Trainingsunterlagen und Teilnahmezertifikat


Für Personalabteilungen

Sie können in unserem Online-Formular bis zu 5 Teilnehmer auf ein Training buchen.
Möchten Sie mehrere Teilnehmer auf verschiedene Trainings buchen, kontaktieren Sie uns bitte!

Bitte beachten Sie auch unser Bonusprogramm bei der gleichzeitigen Buchung von mehreren Trainings und/oder Teilnehmern.

Für Personalabteilungen

Verwandte Trainings

Linux-Schulung: Linux-Grundlagen
Trainings-Code: LINUX-G

Linux-Schulung: Systemprogrammierung
Trainings-Code: LINUX-SYS

Embedded-Linux-Schulung: Embedded-Echtzeit-Linux vom Bootloader bis zum Realtime-System (Linux-RTOS)
Trainings-Code: LINUXE-RTD

Embedded-Linux-Training: Für Tester, Support und Service
Trainings-Code: LINUXE-T

Embedded-Linux-Softwareentwicklung
Trainings-Code: LINUXE-SWE

Softwarerecht: Haftungsrisiken beim Einsatz von Embedded-Software und Open-Source-Software
Trainings-Code: SW-RECHT


Verwandte Trainings

Offenes Training

Für die mit gekennzeichneten Termine bieten wir eine Durchführungsgarantie an.

TerminPreis *Dauer
17.07. – 20.07.20171.760,00 €4 Tage
06.11. – 09.11.20171.760,00 €4 Tage 
26.02. – 01.03.20181.760,00 €4 Tage 
25.06. – 28.06.20181.760,00 €4 Tage 
Anmeldecode: LINUXE-AR
* Alle Preise zzgl. der gesetzlichen USt.


> Download Blanko-Anmeldeformular
> Trainingsbeschreibung als PDF

Inhouse Training

In maßgeschneiderten Workshops kombinieren wir Ihre konkreten Projektaufgaben mit unserem Trainingsangebot. Dabei berücksichtigen wir Ihre Anforderungen bezüglich Inhalt, Zeit, Ort, Dauer, technischem Umfeld und Vermittlungsmethodik.

Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.

Coaching

Unsere Coaching-Angebote bieten den großen Vorteil, dass unsere Experten ihr Wissen und ihre Erfahrungen direkt in Ihren Lösungsprozess einbringen und damit unmittelbar zu Ihrem Projekterfolg beitragen.

Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.

Embedded-Linux-Architektur: Kernel-Treiberentwicklung

Inhalt

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.

Merkzettel


Sie haben derzeit keine Trainings auf dem Merkzettel.