Alle 43 Artikel in
UNIX:

Eigenschaften

Preis

Themen

 
Zertifikat Euro-Label Geprüfter Online-Shop - Per Klick Gültigkeit überprüfen
 

Sicher einkaufen

Was passiert bei uns?

Linux Hardware Hacks
 

Zum Download (ciando)

PDF-Download

Anbieter: ciando GmbH

 

Linux Hardware Hacks

 

39,90€

(Preis inkl. Mwst. )

Autor(en): Jürgen Plate
Verlag: Carl Hanser Fachbuchverlag
Version: 1. Auflage, 2007
Umfang: 467 Seiten
Format: PDF: 10,52MB
ISBN: 3446407839
Bestell-Nr.: 44641362P
Artikeltyp: E-Book
 

Jürgen Plate
Linux Hardware Hackz
Messen, Steuern und Sensorik mit Linux


LINUX GUT (EIN)GEBETTET

- Verschaffen Sie sich einen umfassenden Überblick über die Entwicklung von Embedded Systemen auf der Basis von Linux.
- Lassen Sie sich von den zahlreichen Praxisbeispielen inspirieren.
- Nutzen Sie die vielen Listings und Schaltungen für Ihre Projekte

Linux ist ein Multitalent. Es leistet nicht nur als Server-Betriebssystem hervorragende Dienste, sondern kann seine Stärken auch als Betriebssystem für eingebettete Systeme ausspielen. Zum Beispiel in einer Anwendung, mit der alle Getränkeautomaten auf dem Firmengelände selbstständig kontrollieren, wie gut sie gefüllt sind und dem Getränkelieferanten über eine Internetverbindung direkt mitteilen können, wann sie nachgefüllt werden müssen.

Wie Sie solche und ähnliche Mess-, Steuerungs- und Regelungsanwendungen konkret realisieren können, zeigt dieses Buch. Sie erfahren, wie Sie das Betriebssystem Linux für diese Zwecke verwenden, wie Betriebssystem-Kern und PC-Schnittstellen miteinander kommunizieren und wie man über digitale und analoge Aktoren und Sensoren die Brücke zur Außenwelt schlägt.

Die zahlreichen Praxisbeispiele, entweder mit industriellen Fertigkomponenten oder mit Schaltplänen (oft auch mit Platinenlayout) und dazugehörigen Programmen lassen sich unmittelbar in die Praxis umsetzen.

Über den Autor

Prof. Jürgen Plate unterrichtet am Fachbereich Elektrotechnik und Informationstechnik der FH München. Seine Fachgebiete umfassen neben anderem die Netzwerk-Technik und Internet-Technologie.

Er ist begeisterter Linux-User...



Die Inhalte der CD-ROM können nach Kauf und Download dieses eBooks auf Anfrage zur Verfügung gestellt werden.


Leseprobe:

3 E/A-Programmierung

Wie schon im ersten Kapitel angedroht, geht es nun um das Ansprechen von Hardware per Programm. Dort wurde auch schon gesagt, dass es zwei Möglichkeiten gibt, E/E-Schnittstellen anzusprechen: Treiber oder direkter Portzugriff, der unter dem Begriff User-Mode-Programm läuft.

Kernel-Treiber sind, wie der Name schon sagt, Bestandteil des Kernels. Sobald sie eingebunden sind, können sie von allen Programmen gleichermaßen und ohne besondere Privilegien genutzt werden. Sie werden aus anderen Programmen angesprochen über

Einträge im /dev-Verzeichnis,
das /proc-Verzeichnis oder
ioctl()-Aufrufe.

Damit folgen die Treiber auch dem UNIX/Linux-Grundsatz " Alles ist Datei". Dieser Vorteil wird durch eine komplexere Programmierung erkauft. So ist z. B. der Zugriff auf Bibliotheksfunktionen eingeschränkt. Die Alternative besteht in User-Mode-Programmen, die direkt auf E/A-Ports zugreifen und damit auch immer nur mit Root-Privilegien starten müssen (nach erfolgreicher Missetat kann man auf normale User-Privilegien umschalten). Verwendet man dagegen ein User-Mode-Programm für Hardwarezugriffe, gilt:

die C Library kann benutzt werden,
Debugging ist einfacher und
Paging ist möglich.

Die Programmierung ist somit viel einfacher. Aber es gibt auch Nachteile gegen über einem Treiber:

Interrupts lassen sich nicht verwenden,
Performance ist nicht so gut wie bei Kernel-Treibern,
Verzögerungen entstehen durch den Scheduler und
Root-Rechte sind für den Zugriff erforderlich.

Bei Embedded Systems, wo nur wenige Prozesse laufen und ein User-Login meist gar nicht möglich ist,überwiegt oft der Vorteil der einfachen Programmierung. Der Abschnittüber Treiber und auch die entsprechenden Abschnitte in anderen Kapiteln müssen zwangsläufig rudimentär sein, sonst wäre dieses Buch mindestens 500 Seiten dicker geworden. Alle, die mehr wissen wollen, seien auf das Buch von Quade und Kunst bzw. dessenWebseite http://ezs.kr.hsnr.de/TreiberBuch/ verwiesen. Deshalb wird nach einem kurzen Ausflug zum Compiler zuerst die User-Mode- Programmierung behandelt, anschließend gibt es einen kleinen Ausflug in die Treiberentwicklung.

3.1 Compiler und Bibliotheken

Wenn Sie mit gängigen Distributionen arbeiten, installieren Sie zumeist nur fertig kompilierte Programme (sogenannte Binärpakete). Für unsere Anwendungen müssen Sie in der Regel den Quellcode herunterladen oder selbst verfassen und dann das Programm selbst kompilieren. Deshalb gebe ich Ihnen dazu einige einführende Tipps.

Praktisch alle Linux-Programme verwenden dieselben Standardfunktionen, beispielsweise zum Zugriff auf Dateien, zur Ausgabe am Bildschirm, zur Unterst ützung von X etc. Es wäre sinnlos, wenn jedes noch so kleine Programm all diese Funktionen unmittelbar imCode enthaltenwürde – riesige Programmdateien wären die Folge. Stattdessen bauen die meisten Linux-Programme auf sogenannten shared libraries auf: Bei der Ausführung eines Programms werden automatisch auch die erforderlichen Libraries (Bibliotheken) geladen. Der Vorteil:Wenn mehrere Programme Funktionen derselben Library nutzen, muss diese nur einmal geladen werden.

Bibliotheken spielen eine zentrale Rolle dabei, ob und welche Programme auf Ihrem Rechner ausgeführt werden können. Fehlt auch nur eine einzige Bibliothek (bzw. steht sie in einer zu alten Version zur Verfügung), kommt es beim Programmstart sofort zu einer Fehlermeldung.

Kompilierte Programme können nur dann ausgeführt werden, wenn die dazu passenden Bibliotheken installiert sind und auch gefunden werden. Mit dem Kommando ldd kann man feststellen, welche Bibliotheken von einem Programm benötigt werden. ldd wird als Parameter der vollständige Dateiname des Programms übergeben. Als Reaktion listet ldd alle Libraries auf, die das Programm benötigt. Außerdem wird angegeben, wo sich eine passende Library befindet und welche Libraries fehlen bzw. nur in einer veralteten Version zur Verfügung stehen. Wenn ldd das Ergebnis not a dynamic executable liefert, handelt es sich um ein Programm, das alle erforderlichen Bibliotheken bereits enthält (ein statisch gelinktes Programm).



 

E-Book zum Schnäppchenpreis

Täglich neu Punkt 0:00 Uhr

Hier geht es zum Angebot

Nur 2,99€

Nur heute so günstig!

XMLInfo als RSS-Feed

Anbieter: Pearson Education Deutschland GmbH (mehr)