Gerätetreiber in Embedded Systems



Ähnliche Dokumente
Installationsanleitung pixel-fox

Vorbemerkungen. Von der Version unterscheidet sich die Version T u.a. durch folgende Merkmale:

Klausur Software Engineering 2 WNB SS 2008

Rheinisch-Westfälische Technische Hochschule Aachen. Seminararbeit

GenICam: Der Standard

PXI System für Integrationstests

Grundlagen Rechnerarchitektur und Betriebssysteme

Installation Kontierungsdrucker EasyCoder PC4 über USB. Windows 2000 / XP

Version vom

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

Benutzerhandbuch 10/2011 MN Z-DE. Kommunikation System

Rund um Sorglos. Information Communication Technology Ebner e.u. für Home Office oder Small Office. [Datum einfügen]

Realtime Daten-Rückschreibung in Tableau mit der Extensions API //

DIGITALVARIO. Anleitung Bootloader. Ausgabe 0.1 deutsch für Direkt-Digital-Vario. Firmware ab Hardware 01 Seriennummer ab 0003

Hardware-Komponenten. DI (FH) Levent Öztürk

Freier Linux Kernel für den Virtex4 FX12

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Systemvoraussetzungen für ConSol*CM Version Architektur Überblick

E-Line Übung Lichtsteuerung mit DALI. Ralf Petry Aug

Software Architektur Für Eıngebettete Systeme

Vorlesung - Linux Boot

Installationsanleitung

Installationsanleitung - Command WorkStation 5.6 mit Fiery Extended Applications 4.2

Embedded Linux. Embedded Linux. Daniel Buchheim Seminar "Eingebettete drahtlose Systeme"

registra Schnittstelle

Aufbau eines modernen Betriebssystems (Windows NT 5.0)

Klausuraufgaben: Hardware (1.) Notieren Sie die Namen der Schnittstellen!


MBUS-MODBUS MODBUS Converter Datenerfassung von MBUS Zählern

Einführung in die technische Informatik

Geräteverwaltung: Einführung

HOMEPLANE. Home Media Platform and Networks

kitako Ein kleiner Einblick

Nutzung XPe- bzw. Windows Embedded-basierter Thin Clients mit NetMan Desktop Manager

So funktionieren Computer

DMX-PlayerONE. Bedienungsanleitung

Externe Speicher- und Erweiterungskarten

80C167 Entwicklungsboard und Schulungsboard

D Einführung Betriebssysteme

D Einführung Betriebssysteme

Modulnummer 305 Betriebssysteme installieren, konfigurieren und administrieren

Externe Speicher- und Erweiterungskarten

Softwareverteilung mit msi-paketen

Leicht konfigurierbare Hardware-Abstraktionsschicht für flexible Automatisierung

Externe Speicher- und Erweiterungskarten Benutzerhandbuch

Inhalt. Installation Wireless LAN Card unter WinME 8. Installation Wireless LAN Card unter Win2000 4

Externe Speicher- und Erweiterungskarten Benutzerhandbuch

Externe Speicher- und

Konzepte von Betriebssystemkomponenten

1 Proseminar: Konzepte von Betriebssystem-Komponenten. Thema: Server OS AS/400 Referend: Sand Rainer. Server OS - AS/400

Symbian OS. OS für kleine Endgeräte: Sven Walter

Kopfzeile. Inhaltsverzeichnis

HF Long Range Reader ID ISC.LR(M)2500

Compuprint SP40plus. Das SP40plus Remote Setup Programm. Restore MFG. Send Setup. Send Setup. Restore MFG

Referenz-Konfiguration für IP Office Server. IP Office 8.1

Doppelklicken Sie auf Wine_x.dmg. Das gelbe Fenster unten öffnet sich. Ziehen Sie Wine.app nach Applications wie im Bild unten.

Unterrichtseinheit 10

RTG Online Reporting. Anleitung. RTG Trading Solutions

Produkt-Datenblatt. Technische Daten, Spezifikationen. MEsstechnik fängt mit ME an. Kontakt

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Berechtigungsverwalter 1.0 Installationsanleitung

Digital Signage Lösung aus einer Hand

Systemvoraussetzungen für ConSol CM Version Architektur Überblick

Hochverfügbarkeit und virtualisierte Umgebungen

Installation nextbau Server

SurefireKernel ÜBERSICHT SPEZIFIKATION. Sicherheitskernel DATASHEET

ADDISON Aktenlösung Automatischer Rewe-Import. Technische Beschreibung

Externe Speicher- und

Externe Speicher- und Erweiterungskarten Benutzerhandbuch

Fantec SQ-35U3e. Bedienungsanleitung. Inhalt. 4x 3,5" SATA HDD USB3.0 esata

Alle ausgelieferten Versionen der Golem Speicherbank sind. selbstkonfigurierend bei Benutzung des Kickstarts 1.2 oder höher.

Einbindung der RasPiLC in die CODESYS-Umgebung

WEB PRINT CLIENT. Add-on für OPAL LABELMANAGEMENT BY OPAL ASSOCIATES HOLDING AG

BitDefender Client Security Kurzanleitung

Externe Speicher- und Erweiterungskarten Benutzerhandbuch

Externe Speicher- und Erweiterungskarten

ObjectBridge Java Edition

Steinberg TOOLS Software Installationshandbuch

Info zu diesem Dokument. Verbinden des Systems. Konfigurieren des Systems

Visual Studio 2010 Neues für Architekten

Eine Anleitung zur Entwicklung von Simulink-Targets für die Lehre. 10. MBEES 2014, Dagstuhl

Netzwerk Management Potentielle Systemausfälle bereiten Ihnen Sorgen?

Komponentenbasierte Client-Architektur. Bernd Olleck, IT Beratung Olleck Dr. Martin Haft, sd&m AG München,

Software Engineering II (IB) Testen von Software / Modultests

Untersuchungen zur Zulassung von Software unterschiedlicher Sicherheitsklassen auf einem Prozessormodule unter dem neuartigen Betriebssystem PikeOS

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Sicherheit wird messbar Lösungsansätze und Methoden. Case. 15. September 2009, Hotel St. Gotthard, Zürich

Hello World! Eine Einführung in das Programmieren Das erste Programm

PC Cards. Teilenummer des Dokuments: Dieses Handbuch erläutert die Verwendung von PC Cards mit dem Computer.

Cell and Larrabee Microarchitecture

17 Architekturentwurf Vorgehen und Dokumentation

Protokollbeschreibung Modbus TCP für EMU TCP/IP Modul

Transkript:

TECHNISCHE HOCHSCHULE MITTELHESSEN Gerätetreiber in Embedded Systems Schriftliche Ausarbeitung Mario Weber 26.06.2011

1. Inhalt 1. Inhalt... 1 2. Software-Aufbau von Embedded Systems... 2 2.1 Definition... 2 2.2 Systemaufbaumodell... 2 2.3 Einordnung in das Modell... 3 3. Aufgaben von Gerätetreibern... 4 4. Arten von Gerätetreibern... 5 4.1 Architekturspezifische Gerätetreiber... 5 4.2 Generische Gerätetreiber... 5 5. Typische Funktionen von Gerätetreibern... 6 5.1 Startup und Shutdown... 6 5.2 Enable und Disable... 6 5.3 Acquire und Release... 6 5.4 Read und Write... 7 5.5 Install und Uninstall... 7 6. Zustände von Gerätetreibern... 8 6.1 Zustandsmodell... 9 6.1.1 Inactive... 9 6.1.2 Busy... 9 6.1.3 Finished... 9 7. Interner Aufbau... 10 9. Quellenangabe... 11 1

2. Software-Aufbau von Embedded Systems 2.1 Definition Die Hardwarekomponenten in Embedded Systems benötigen Software, die diese initialisiert und verwaltet. Die Software, die diese Aufgabe erfüllt, nennt man Gerätetreiber. 2.2 Systemaufbaumodell Im untenstehenden Diagramm sieht man ein Modell, dass den Aufbau eines Embedded Systems darstellt. Unterste Schicht ist die Hardwareschicht. Darüber befindet sich die Systemsoftwareschicht. Welche Komponenten diese Schicht enthält unterscheidet sich im Einzelfall je nachdem wie aufwändig der Aufbau des konkreten Embedded Systems ist. Zu oberst befindet sich die Anwendungssoftwareschicht. Die Gerätetreiber für Embedded Systems befinden sich in der Systemsoftwareschicht. Sie stellen die minimale Konfiguration dieser Schicht dar, das heißt sie sind in jedem Fall vorhanden, müssen aber nicht die einzige Komponente dieser Schicht sein. In der linken Spalte sieht man einen Systemaufbau, bei dem die Systemsoftwareschicht lediglich aus der Gerätetreiberschicht besteht. In der mittleren Spalte wird der Aufbau der Systemsoftwareschicht um die Middlewareschicht ergänzt. In der rechten Spalte sieht man einen Systemaufbau, bei dem ein Betriebssystem vorhanden ist. Diese Betriebssystemschicht befindet sich ebenfalls in der Systemsoftwareschicht. 2

2.3 Einordnung in das Modell Die Gerätetreiberschicht stellt somit je nach konkretem Systemaufbau die Schnittstelle zwischen Anwendungsschicht und Hardwareschicht, Middlewareschicht und Hardwareschicht oder Betriebssystemschicht und Hardwareschicht dar. 3

3. Aufgaben von Gerätetreibern Die Aufgaben von Gerätetreibern im Allgemeinen sind die Hardware zu initialisieren und eine Zugriffsmöglichkeit für Software höherer Schichten bereitzustellen. Welche Aufgaben dies im speziellen sind und wie diese Aufgaben erfüllt werden hängt natürlich davon ab, welche Art Hardwarekomponente der Gerätetreiber verwalten soll. 4

4. Arten von Gerätetreibern Gerätetreiber werden typischerweise in zwei Kategorien eingeteilt. Diese sind architekturspezifische Gerätetreiber und generische Gerätetreiber. 4.1 Architekturspezifische Gerätetreiber Architekturspezifische Gerätetrieber verwalten die Hardwarekomponenten, die in den Hauptprozessor integriert sind. Beispiele für Komponenten, die architekturspezifische Gerätetreiber benötigen sind on-chip memory, integrierte MMUs (memory management units) und Gleitkommahardware. 4.2 Generische Gerätetreiber Generische Gerätetreiber verwalten Hardware die sich auf dem Board befindet und nicht in den Hauptprozessor integriert ist. Innerhalb eines generischen Gerätetreibers befindet sich gewöhnlicherweise Code, der architekturspezifisch ist. Dies liegt daran, dass alle Komponenten auf dem Board in irgendeiner Weise über den Hauptprozessor angesprochen werden müssen. Generische Treiber verwalten aber Hardware die sich auf dem Board befindet und somit unabhängig von dem Hauptprozessor ist. Dieser Anteil des Code ist architekturunabhängig. Das heißt generische Gerätertreiber müssen auf die jeweilige Architektur angepasst werden, können dann aber die Hardwarekomponente auf dem Board für die sie geschrieben sind auf einer Vielzahl von verschiedenen Architekturen verwalten. 5

5. Typische Funktionen von Gerätetreibern Unabhängig davon welche Art von Hardware ein Gerätetreiber verwaltet beinhaltet er im Allgemeinen alle oder eine Teilmenge der folgenden Funktionalitäten. 5.1 Startup und Shutdown Die Startup-Funktion initialisiert die Hardware wenn der Strom eingeschaltet wird oder ein Reset durchgeführt wurde. Die Shutdown-Funktion versetzt die Hardware in den Zustand in dem sie ausgeschaltet werden kann. 5.2 Enable und Disable Die Enable-Funktion erlaubt anderer Software die Hardware on-the-fly anzuschalten. Die Disable-Funktion erlaubt anderer Software die Hardware on-the-fly auszuschalten. 5.3 Acquire und Release Die Acquire-Funktion erlaubt anderer Software exklusiven Zugriff auf die Hardware zu erlangen. Mittels der Release-Funktion kann andere Software exklusieven Zugriff auf die Hardware wieder freigeben. 6

5.4 Read und Write Die Read-Funktion erlaubt anderer Software Daten von der Hardware zu lesen. Die Write-Funktion erlaubt anderer Software Daten auf die Hardware zu schreiben. 5.5 Install und Uninstall Die Install-Funktion erlaubt anderer Software Hardware on-the-fly zu installieren. Die Uninstall-Funktion erlaubt anderer Software Hardware on-the-fly zu deinstallieren. 7

6. Zustände von Gerätetreibern Dass Gerätetreiber genau diese gemeinsamen Funktionen haben liegt daran, dass die Software davon ausgeht, dass sich das Verhalten der Hardware durch ein Zustandsmodell beschreiben lässt. Die Hardware befindet sich immer in einem der Zustände inaktiv, beschäftigt oder fertig. Ein Übergang von einem Zustand in einen anderen wird ausgelöst durch das Aufrufen einer der Funktionen des Gerätetreibers. 8

6.1 Zustandsmodell 6.1.1 Inactive Hardware im Zustand inaktiv wird angesehen entweder als disconnected, ohne Strom oder abgeschaltet. Hardware die disconnected ist benötigt die Install-Funktion. Hardware die ohne Strom ist benötigt die Startup-Funktion zur Initialisierung. Und Hardware die abgeschaltet ist benötigt die Enable- Funktion um von anderer Software eingeschaltet zu werden. Die Zustände beschäftigt und fertig sind aktive Zustände. In diesen beiden Zuständen werden die Counterparts der oben erwähnten Funktionen benötigt, und zwar Uninstall, Shotdown und Disable. 6.1.2 Busy Hardware im Zustand beschäftigt ist gerade dabei Daten zu verarbeiten. In diesem Zustand wird die Release-Funktion benötigt um die Hardware wieder freizugeben. 6.1.3 Finished Befindet sich die Hardware im Zustand fertig verarbeitet sie zu diesem Zeitpunkt keine Daten. In diesem Zustand ist es möglich die Hardware mit der Acquire-Funktion zu beanspruchen oder die Read- oder Write-Funktion zu benutzen. 9

7. Interner Aufbau Die einzelnen Funktionen eines Gerätetreibers können zu größeren Funktionen mit mächtigerer Funktionalität zusammen gefasst sein. Die Funktionen des Treiber haben Code der direkt die Hardware anspricht und Code der die Schnittstelle zu Software höherer Schichten implementiert. Diese Schichten können im Code des Treibers sowohl vermischt sein als auch im Code selbst in Schichten aufgeteilt sein. 10

9. Quellenangabe Embedded Systems Architecture, Tammy Noergaard Designing Embedded Hardware, John Catsoulis http://en.wikipedia.org/wiki/embedded_system http://microcontroller.com/wp/devicedrivers/device_drivers5.htm http://en.wikibooks.org/wiki/embedded_systems 11