Hallo LC,
mich würde mal interessieren, wie die Treiberentwicklung so abläuft. Man muss ja ersteinmal wissen, auf welche Befehle das anzusprechende Gerät überhaupt reagiert, was man ja bei nicht selbst gebauten Modellen oder sonstigen Technischen Errungenschaften nicht weis. Ich bin im Moment leider erst 13 und meine Erfahrungen in den Programmiersprachen (ich beschäftige mich hauptsächlich mit C++) sind nicht nicht allzu groß – mal so nebenbei, ich bin bei Objekte mit Zeigern auf dem Heap ablegen hängen geblieben -. Vielleicht kann mir mal jemand etwas Syntax verraten, wie man überhaupt Befehle an bestimmte Ports sendet.
Ich währe euch unglaublich dankbar
Alex
Hi
Grad so ein Tutorial hab ich nicht zur Hand, aber wenn du die Kernel-Sourcen installierst, hast du eine Menge Material zum studieren :)
Da findest du sicher einige interessante Sachen…
Gruss
burnstone
Hallo Alex,
ich finde es toll, dass Du Dich für diesen Problemkrei interessierst. Der Weg, den Austausch mit anderen zu suchen, ist in der Treiberenwicklung ein wesentlicher Ansatzpunkt.
Im Internet finden sich viele Hinweise, wie es praktisch aussehen kann. Um Dich nicht gleich zu erschlagen folgen nur drei Beispiele. Insbesondere unter dem ersten Link, findet sich mit vielen Unterseiten eine sehr gute Einführung, die auch das Ansprechen von Ports beinhaltet.
Am besten suche Dir ein konkretes Objekt und trainiere daran. Laß Dich nicht von Rückschlägen entmutigen. Auch Linus hat mal klein angefangen.
Viel Erfolg
Andreas
[1] http://ezs.kr.hsnr.de/TreiberBuch/html/
[2] http://www.kefk.net/Linux/Hardware/Treiber/index.asp
[3] http://www.fbi.fh-darmstadt.de/~paltenbernd/betriebssysteme_files/5_Geraeteverwaltung_050127.pdf
Vielen Dank, gerade die erste URL ist sehr interessant. Dann werd ich mich damit mal beschäftigen…
Alex
mich würde mal interessieren, wie die Treiberentwicklung so abläuft. Man muss ja ersteinmal wissen, auf welche Befehle das anzusprechende Gerät überhaupt reagiert, was man ja bei nicht selbst gebauten Modellen oder sonstigen Technischen Errungenschaften nicht weis.
Der Hersteller sollte den zu seinem Gerät passenden Treiber gefälligst selbst entwickeln. Macht er das aus wirtschaftlichen Gründen nicht, geht der frustrierte Entwickler häufig wie folgt vor:
man sollte einen existierenden Treiber für ein Gerät derselben Kategorie als Grundlage benutzen. Damit funktioniert der eigene Treiber dann nämlich auch gleich mit der darüberliegenden Applikationssoftware optimal zusammen. man sollte sich parallel dazu ein einfaches Testprogramm basteln, in das man das Protokoll zur Kommunikation mit dem Gerät implementiert. das Protokoll erhält man zu großen Teilen aus der Doku des Chipsatzes, der in dem Gerät verbaut wurde. Die Chipsatzhersteller haben schließlich ein Interesse daran, das ihre Chips zahlreich verbaut werden – daher gibt es hier meist auch offene Doku. bleibt noch herauszufinden, was der meist vorhandene Windows-Treiber so mit dem Gerät macht. Hier bietet es sich z.B. bei USB etc. an, einen Linuxrechner in die Leitung einzuschleifen und das Protokoll mitzuschreiben. oder falls das nicht geht (interne Hardware), den Windows-Treiber untersuchen und daraus die Chipsatzansteuerung zurückentwickeln. Es handelt sich also hauptsächlich um das Suchen der Nadel im Heuhaufen — immerhin besser als anders herum.
Jan