Archiv verlassen und diese Seite im Standarddesign anzeigen : Treiberprogrammierung
Hallo,
ich wollte mal fragen, vor allem da Google nichts anständiges brachte, wie man im allgemeinden Treiber schreibt. Ich habe nicht vor irgendwelche Treiber für Karten etc. zu schreiben, aber mich interresiert wie man das macht, jetzt vorallem vielleicht in Assembler ohne irgendeine Abhängigkeit von Betriebsystemen.
Gibt es irgendwelche Interrupts mit denen bestimmte Boardteile angesprochen werden oder wie geht das?
lg
Buddyveli
01.11.2009, 16:11
Gibt es irgendwelche Interrupts mit denen bestimmte Boardteile angesprochen werden oder wie geht das?
Bestimmte Geräte kannst Du über die BIOS-Interrupts (http://en.wikipedia.org/wiki/BIOS_interrupt_call) ansprechen.
MfG
Buddyveli
Danke,
aber wie ist es mit den anderen Teilen, zB CD Treiber oder Graphikkarte?
Normalerweise brauchst du ein Datenblatt der Hardware und eine Spezifikation der Architektur. Die Specs erzählen dir unter welchen Addressen/Pins/Ports die Hardware anzusprechen ist wo Ausgaben,Eingaben in welchen Zeiträumen stattfinden, was es für Interrupts gibt usw.
Mit diesem Wissen kannst du dann im Assembler der Architektur einen Treiber schreiben, oder aber bequemer in C/C++ mit teilweise notwendigem inline-Assembler Befehlen oder entsprechenden Funktionen die dir das OS bereitstellt(Welches diese Funktionen wiederum selbst mithilfe des Assemblers der Architektur implementiert hat)
http://wiki.osdev.org/Main_Page ist vielleicht eine Anlaufstelle für dich.
Normal muss man sich mit dem direktem Kram nichtmal herumschlagen sondern entwickelt den Treiber für ein bestimmtes Betriebsystem welches einem die ekelhafte Arbeit meist abnimmt indem es fertige Funktionen bereitstellt um die HW-anzusprechen, aber wie gesagt vielleicht hilft dir ein Blick in das wiki.
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.