Seminare
Seminare

LFD430 Entwicklung von Gerätetreibern für Linux-Systeme

Webinar - IT-Schulungen.com

In dieser 4-tägigen Schulung "LFD430 Entwicklung von Gerätetreibern für Linux-Systeme" lernen Sie, wie Sie Gerätetreiber für Linuxsysteme entwickeln. Erfahren Sie mehr über verschiedene Arten von Linux Gerätetreibern, die entsprechenden APIs und Methoden, mit denen Geräte mit dem Kernel interagieren.
Die Bandbreite der Gerätetreiber in Linux
Interaktion zwischen Geräten (Hardware und Software) und dem Kernel
Wichtige Module und Methoden zur Entwicklung und Fehlerbehebung von Linux-Treibern
Zusätzliches Wissen und mehr.
Die vermittelten Kenntnisse sind in allen führenden Linux-Distributionen anwendbar.


Termin Ort Preis*
09.09.2024- 12.09.2024 Nürnberg 2.374,05 €
09.09.2024- 12.09.2024 online 2.374,05 €
21.10.2024- 24.10.2024 Nürnberg 2.374,05 €
21.10.2024- 24.10.2024 online 2.374,05 €

Alle Termine anzeigen

*Alle Preise verstehen sich inkl. MwSt.

Detaillierte Informationen zum Seminar

Inhalte:

Einführungen

  • Linux Distributionen
  • Plattformen
  • Vorbereitung Ihres Systems
  • Verwendung und Herunterladen einer virtuellen Maschine


Linux Datei-System Tree Layout

  • OPreliminaries


Wie man in OSS-Projekten arbeitet

  • Überblick über die korrekte Durchführung von Übertragungen.
  • Sicherheit und Qualität durch die Nähe zur Mainline
  • Projekt-DNA erforschen und verstehen
  • Das Anliegen erkennen und verfolgen
  • Bestimmung der Entwickler und deren Arbeitsabläufe und Methoden
  • Frühzeitige Informationen einholen und freier arbeiten
  • Tragen Sie inkrementelle Bits bei und meiden Sie große Code-Dumps.
  • Kein Platz für Ego: Denke nicht engstirnig.
  • Seien Sie geduldig, entwickeln Sie langfristige Partnerschaften und seien Sie hilfreich


Gerätetreiber

  • Gerätetypen
  • Mechanismen vs. Richtlinien
  • Vermeidung von Binary Blobs
  • Energie-Management
  • Wie Applikationen Gerätetreiber verwenden
  • Durchlaufen eines Systemaufrufs Zugriff auf ein Gerät
  • Fehlermeldungen
  • printk()
  • Geräte: Verwaltungs-Ressourcen für Geräte


Modul- und Gerätetreiber

  • Die module_driver()-Makros
  • Module und Hot-Plug


Speichermanagement und Zuweisung

  • Virtual- und physikalischer Speicher
  • Speicherbereiche
  • Seiten-Tabellen
  • kmalloc()
  • __get_free_pages()
  • vmalloc()


Character Devices

  • Geräte-Knotenpunkte
  • Major- und Minor-Nummern
  • Reservierung von Major-/Minor-Nummern
  • Zugriff auf den Geräte-Knotenpunkt
  • Registrierung des Geräts
  • udev
  • dev_printk() und zugehörige
  • file_operations-Struktur
  • Treiber-Einstiegspunkte
  • Die Datei- und Inode-Strukturen
  • Diverse Charakter-Treiber


Kernel Funktionen

  • Bestandteile des Kernels
  • Anwenderbereich vs. Kernel-Bereich
  • Was sind Systemaufrufe?
  • Verfügbare Systemaufrufe
  • Zeitplanungsalgorithmen und Task-Strukturen
  • Prozess-Kontext


Übertragung von Benutzer- und Kernelbereich

  • Übertragung zwischen den Bereichen
  • put(get)_user() und copy_to(from)_user()
  • Direkte Übertragung: Kernel-E/A und Speicher-Mapping
  • Kernel-E/A
  • Zuordnung von Benutzerseiten
  • Speicher-Zuordnung (Memory Mapping)
  • Anwender-Funktionen für mmap()
  • Treibereinstiegspunkt für mmap()
  • Dateizugriff aus dem Kernel


Störungen und Ausnahmen

  • Was sind Interrupts und Exceptions?
  • Ausnahmen
  • Asynchrone Interrupts
  • MSI
  • Aktivieren/Deaktivieren von Interrupts
  • Was Sie zur Interrupt-Zeit nicht tun können
  • IRQ-Daten-Strukturen
  • Installieren eines Interrupt-Handlers


Zeitmessung

  • Verschiedene Arten von Zeitmessungen
  • Jiffies
  • Bestimmung der aktuellen Zeit
  • Zeitquellen
  • Real Time Clock
  • Programmierbarer Intervall-Timer
  • Zeitstempelzähler
  • HPET


Kernel-Timer

  • Verzögerungen einfügen
  • Was sind Kernel-Timer?
  • Timer-Funktionen mit niedriger Auflösung
  • Timer-Implementierung mit niedriger Auflösung
  • Timer mit hoher Auflösung
  • Einsatz von hochauflösenden Timern


ioctls

  • Was sind ioctls?
  • Einstiegspunkt des Treibers für ioctls
  • Definition von ioctls


Unified Device Model und sysfs

  • Einheitliches Geräte-Modell
  • Grundlegende Strukturen
  • Reale Geräte
  • sysfs
  • kset- und kobject-Beispiele


Firmware

  • Was ist Firmware?
  • Laden der Firmware


Sleeping und Wait Queues

  • Was sind Queues?
  • Sleep und Waking Up
  • Sleep Details
  • Exclusive Sleeping
  • Waking Up Details
  • Polling


Störungs-Handling: Verzögerte Funktionen und Benutzer Treiber


Top and Bottom Halves


Softirqs


Tasklets


Work Queues


New Work Queue API


Kernel Threads erstellen


Threaded Interrupt Handlers


Interrupt Handling im User-Space


Ziele/Bildungsabschluss:

In dieser 4-tägigen Schulung "LFD430 Entwicklung von Gerätetreibern für Linux-Systeme" lernen Sie, wie Sie Gerätetreiber für Linuxsysteme entwickeln. Erfahren Sie mehr über verschiedene Arten von Linux Gerätetreibern, die entsprechenden APIs und Methoden, mit denen Geräte mit dem Kernel interagieren.
Die Bandbreite der Gerätetreiber in Linux
Interaktion zwischen Geräten (Hardware und Software) und dem Kernel
Wichtige Module und Methoden zur Entwicklung und Fehlerbehebung von Linux-Treibern
Zusätzliches Wissen und mehr.
Die vermittelten Kenntnisse sind in allen führenden Linux-Distributionen anwendbar.


Teilnahmevoraussetzungen:

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


  • Erfahrung in der C-Programmierung
  • Vertrautheit mit Linux Dienstprogrammen und Texteditoren
  • Kenntnisse zu Kernel-Schnittstellen und Methoden wie Schreiben, Kompilieren, Load und Unload von Modulen, Synchronisation
  • Grundkenntnisse im Bereich Speicherzuweisung und Speicherverwaltung, entsprechend LFD420


Lehrgangsverlauf/Methoden:

Die Schulung bietet Ihnen eine ausgewogene Mischung aus Theorie und Praxis in einer erstklassigen Lernumgebung. Profitieren Sie vom direkten Austausch mit unseren projekterfahrenen Trainern und anderen Teilnehmern, um Ihren Lernerfolg zu maximieren.


Zielgruppe:
  • erfahrene Entwickler


Seminarkennung:
NE-WEBDATE-06bf2367-4c22-41f7-95e2-f77f4f003cc7
Nach unten
Nach oben
Wir setzen Analyse-Cookies ein, um Ihre Zufriedenheit bei der Nutzung unserer Webseite zu verbessern. Diese Cookies werden nicht automatisiert gesetzt. Wenn Sie mit dem Einsatz dieser Cookies einverstanden sind, klicken Sie bitte auf Akzeptieren. Weitere Informationen finden Sie hier.
Akzeptieren Nicht akzeptieren









Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha



Bei der Verarbeitung Ihrer personenbezogenen Daten im Zusammenhang mit der Kontaktfunktion beachten wir die gesetzlichen Bestimmungen. Unsere ausführlichen Datenschutzinformationen finden Sie hier. Bei der Kontakt-Funktion erhobene Daten werden nur an den jeweiligen Anbieter weitergeleitet und sind nötig, damit der Anbieter auf Ihr Anliegen reagieren kann.







Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha