Sie sind hier
E-Book

Linux-Treiber entwickeln

Eine systematische Einführung in die Gerätetreiber- und Kernelprogrammierung - jetzt auch für Raspberry Pi

AutorEva-Katharina Kunst, Jürgen Quade
Verlagdpunkt
Erscheinungsjahr2015
Seitenanzahl688 Seiten
ISBN9783864917554
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis49,90 EUR
Dieses Buch bietet eine systematische Einführung in die Kernelprogrammierung und in die Entwicklung von Gerätetreibern unter Linux - angefangen bei den Grundlagen bis hin zu speziellen Treibern und Techniken. Die innerhalb des Kernels nutzbaren Technologien werden umfassend vermittelt und mit vielen wiederverwertbaren Codebeispielen illustriert. Behandelt werden unter anderem: • die Architektur des Linux-Betriebssystems • die Programmierung von Tasklets, Kernel-Threads, Workqueues und hochauflösenden Timern • die Sicherung kritischer Abschnitte • effiziente Speicherverwaltung (Objekt-Caching) • die Systemintegration des Treibers (Proc-, Sysund Device-Filesystem) • das Kernel Build System • professionelle Hardwareanbindung für den Raspberry Pi • Green-Computing (Stromsparmodi) • Realzeitaspekte • spezielle Treiber (u.a. GPIO, I2C, PCI, USB, Blockgeräte) Hilfreich für die praktische Arbeit sind außerdem Programmiertricks erfahrener Kernelhacker, Code Templates als Ausgangspunkt für eigene Entwicklungen, ein eigenes Kapitel zum Entwurf guter und performanter Treiber sowie ein Anhang mit detaillierten Beschreibungen von mehr als 700 internen Kernelfunktionen. Das Buch richtet sich an Entwickler, Kernelhacker und Linux-Interessierte mit guten Programmierkenntnissen in der Sprache C. Einsteiger in Kernelprogrammierung, in Treiberentwicklung (und in Linux) erhalten eine praxisorientierte Einführung in das Thema. Profis, wie Entwickler eingebetteter Systeme, werden es auch als wertvolles Nachschlagewerk für die tägliche Arbeit einsetzen. Die 4. Auflage ist durchgehend auf den Stand des Kernels 4 aktualisiert worden. Ergänzt wurden Themen wie Cross-Entwicklung, Device Tree, GPIO, I2C und SPI sowie die Kernelcode-Entwicklung für eingebettete Systeme, insbesondere für den Raspberry Pi.

Jürgen Quade studierte Elektrotechnik an der TU München. Danach arbeitete er dort als Assistent am Lehrstuhl für Prozessrechner (heute Lehrstuhl für Realzeit-Computersysteme), promovierte und wechselte später in die Industrie, wo er im Bereich Prozessautomatisierung bei der Softing AG tätig war. Heute ist Jürgen Quade Professor an der Hochschule Niederrhein, wo er u.a. das Labor für Echtzeitsysteme betreut. Seine Schwerpunkte sind Echtzeitsysteme, Embedded Linux, Rechner- und Netzwerksicherheit sowie Open Source. Eva-Katharina Kunst studierte Kommunikationswissenschaft an der LMU München sowie Wirtschaftsinformatik an der Fachhochschule München. Sie ist freiberuflich tätig als Journalistin. IhreArbeitsgebiete sind Open Source, Linux und Knowledge Management.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Einleitung11
Theorie ist notwendig19
Betriebssystemarchitektur19
Komponenten des Kernels20
Sonstige Betriebssystemkomponenten33
Abarbeitungskontext und Unterbrechungsmodell34
Quellensuche37
Kernelcode-Entwicklung in der Praxis41
Auf der Kommandoebene entwickeln42
Fehler finden52
Techniken der Kernelprogrammierung62
Coding Style: Kernelcode lesen und Kernelcodeschreiben62
Kernelcode kodieren64
Objektbasierte Programmierung und Entwurfsmuster im Kernel66
Hilfsfunktionen70
Cross-Development72
Nicht vergessen: Auswahl einer geeigneten Lizenz74
GPL und LGPL75
MPL und BSD76
Treiber aus Sicht der Applikation79
Die Programmierschnittstelle der Applikation79
Zugriffsmodi84
Einfache Treiber89
Bevor es losgeht …90
Cross-Kompilierung92
Den Kernel erweitern93
Kernelmodule93
Vom Modul zum Treiber98
Einfaches Treibertemplate101
Die Treibereinsprungspunkte105
driver_open: die Zugriffskontrolle108
Aufräumen in driver_close111
Lesezugriffe im Treiber111
Schreibzugriffe im Treiber121
Die Universalschnittstelle IO-Control123
Wenn Applikationen mehrere Ein-/Ausgabekanäleüberwachen127
Daten zwischen Kernel- und Userspace transferieren130
Hardware anbinden134
Datentypen und Datenablage135
Ressourcenmanagement136
Direkter Hardwarezugriff145
Hardware erkennen150
Device Tree154
PCI160
Treiberinstanzen173
Treibertemplate: Basis für Eigenentwicklungen175
Fortgeschrittene Kernelcode-Entwicklung181
Zunächst die Übersicht182
Interrupts183
Interruptverarbeitung klassisch183
Threaded Interrupts187
Interrupts, testen mit dem Raspberry Pi191
Softirqs199
Tasklets200
Timer-Funktionen203
High Resolution Timer207
Tasklet auf Basis des High Resolution Timers210
Kernel-Threads211
kthread-Daemon213
Workqueues216
Event-Workqueue221
Kritische Abschnitte sichern222
Atomare Operationen223
Mutex und Semaphor229
Spinlocks240
Sequencelocks247
Interruptsperre und Kernel-Lock250
Synchronisiert warten251
Memory Barriers254
Per-CPU-Variablen256
Fallstricke256
Vom Umgang mit Zeiten258
Relativ- und Absolutzeiten258
Zeitverzögerungen264
Dynamischen Speicher effizient verwalten267
Buddy-System268
Objekt-Caching270
Große Speicherbereiche reservieren275
Speicher pro Prozessorkern276
Systemaspekte281
Proc-Filesystem282
Schreibzugriffe unterstützen287
Sequencefiles290
Das Gerätemodell295
Implementierungstechnische Grundlagen299
Gerätedateien automatisiert anlegen lassen300
Treiber anmelden302
Geräte anmelden304
Attributdateien erstellen310
Eigene Geräteklassen erstellen314
Neue Bussysteme anlegen315
Green Computing316
Firmware-Interface328
Treiber parametrieren334
Systemintegration339
Modutils341
Hotplug344
Module beim Booten laden345
Kernel Build System345
Treiberquellen als integrative Erweiterung der Kernelquellen346
Modultreiber außerhalb der Kernelquellen350
Module automatisiert generieren (DKMS)352
Intermodul-Kommunikation357
Realzeitaspekte362
Sonstige Treibersubsysteme367
GPIO-Subsystem367
I2C-Subsystem372
Serial Peripheral Interface (SPI)380
USB-Subsystem388
USB programmtechnisch betrachtet389
Den Treiber beim USB-Subsystem registrieren393
Die Geräteinitialisierung und die -deinitialisierung395
Auf das USB-Gerät zugreifen397
Netzwerk-Subsystem403
Datenaustausch zur Kommunikation404
Netzwerktreiber initialisieren406
Netzwerktreiber deinitialisieren407
Start und Stopp des Treibers407
Senden und Empfangen408
Blockorientierte Gerätetreiber413
Bevor es richtig losgeht …416
Daten kerneloptimiert transferieren418
Grundlegendes zu BIO-Blöcken424
Treiberoptimierter Datentransfer428
Crypto-Subsystem430
Kleines Einmaleins der Kryptografie430
Dienste in der Übersicht433
Eigene Algorithmen einbinden444
Über das Schreiben eines guten, performanten Treibers451
Konzeption451
Keine halben Sachen …452
Intuitive Nutzung durch Struktur453
Sicher muss es sein454
Funktional muss es sein455
Realisierung455
Sicherheitsgerichtetes Programmieren455
Mit Stil programmieren456
32 Bit und mehr: Portierbarer Code461
Zeitverhalten466
Anhang471
Kernel generieren und installieren473
Nativ kompilieren: PC-Plattform475
Nativ kompilieren: Raspberry Pi479
Cross-Kompilieren: PC als Host, Raspberry Pi als Target480
Makros und Funktionen des Kernels kurz gefasst485
Literaturverzeichnis669
Index671
www.dpunkt.de0

Weitere E-Books zum Thema: Betriebssysteme - Computersoftware

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Sicheres Netzwerkmanagement

E-Book Sicheres Netzwerkmanagement
Konzepte, Protokolle, Tools Format: PDF

Die Administration komplexer Rechnernetzwerke verlangt durch die ständige Weiterentwicklung etablierter Standards und die Integration gänzlich neuer Technologien ein umfassendes technisches Know-how…

Sicheres Netzwerkmanagement

E-Book Sicheres Netzwerkmanagement
Konzepte, Protokolle, Tools Format: PDF

Die Administration komplexer Rechnernetzwerke verlangt durch die ständige Weiterentwicklung etablierter Standards und die Integration gänzlich neuer Technologien ein umfassendes technisches Know-how…

Weitere Zeitschriften

AUTOCAD Magazin

AUTOCAD Magazin

Die herstellerunabhängige Fachzeitschrift wendet sich an alle Anwender und Entscheider, die mit Softwarelösungen von Autodesk arbeiten. Das Magazin gibt praktische ...

Correo

Correo

 La Revista de Bayer CropScience para la Agricultura ModernaPflanzenschutzmagazin für den Landwirt, landwirtschaftlichen Berater, Händler und am Thema Interessierten mit umfassender ...

Das Hauseigentum

Das Hauseigentum

Das Hauseigentum. Organ des Landesverbandes Haus & Grund Brandenburg. Speziell für die neuen Bundesländer, mit regionalem Schwerpunkt Brandenburg. Systematische Grundlagenvermittlung, viele ...

dima

dima

Bau und Einsatz von Werkzeugmaschinen für spangebende und spanlose sowie abtragende und umformende Fertigungsverfahren. dima - die maschine - bietet als Fachzeitschrift die Kommunikationsplattform ...

DSD Der Sicherheitsdienst

DSD Der Sicherheitsdienst

Der "DSD – Der Sicherheitsdienst" ist das Magazin der Sicherheitswirtschaft. Es erscheint viermal jährlich und mit einer Auflage von 11.000 Exemplaren. Der DSD informiert über aktuelle Themen ...

elektrobörse handel

elektrobörse handel

elektrobörse handel gibt einen facettenreichen Überblick über den Elektrogerätemarkt: Produktneuheiten und -trends, Branchennachrichten, Interviews, Messeberichte uvm.. In den monatlichen ...

VideoMarkt

VideoMarkt

VideoMarkt – besser unterhalten. VideoMarkt deckt die gesamte Videobranche ab: Videoverkauf, Videoverleih und digitale Distribution. Das komplette Serviceangebot von VideoMarkt unterstützt die ...

Euro am Sonntag

Euro am Sonntag

Deutschlands aktuelleste Finanz-Wochenzeitung Jede Woche neu bietet €uro am Sonntag Antworten auf die wichtigsten Fragen zu den Themen Geldanlage und Vermögensaufbau. Auch komplexe Sachverhalte ...

FileMaker Magazin

FileMaker Magazin

Das unabhängige Magazin für Anwender und Entwickler, die mit dem Datenbankprogramm Claris FileMaker Pro arbeiten. In jeder Ausgabe finden Sie von kompletten Lösungsschritten bis zu ...