AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Treiberentwicklung

Ein Thema von Borti · begonnen am 20. Jan 2004 · letzter Beitrag vom 20. Jan 2004
Antwort Antwort
Borti

Registriert seit: 11. Okt 2003
151 Beiträge
 
#1

Treiberentwicklung

  Alt 20. Jan 2004, 09:40
Hi Leute!
Ich brauch dringend Hilfe beim Schreiben eines Treibers für den LPT-Port.
Die erste Möglichkeit wäre, dass ich ein Driver-Developer-Kit benutze.
Besitzt einer von euch eines, oder könnt ihr mir ein spezielles empfehlen?
Die zweite wär’, dass ich mir mit Delphi eine dll mit integriertem Treiber
schreibe. Normale dlls zu erstellen ist kein Problem, aber wie schreib ich
eine Treiber-dll? Habt Ihr auf diesem Gebiet schon Erfahrungen?
Gruß,
Borti
Ich hab's versucht
(auch wenn's nicht so aus sieht)
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Treiberentwicklung

  Alt 20. Jan 2004, 09:44
Um Daten an den LPT-Port zu senden, brauchst Du zum Glück keinen echten Treiber. Schaue hierzu einfach mal in den einschlägigen Komponenten-Seiten wie Torry & Co nach dem Stichwort LPT.

Delphi ist leider nicht das beste Werkzeug, um einen Treiber zu entwickeln - da gibt es Geeignetere. Ein kurzer Abriss dazu unter:
http://www.luckie-online.de/artikel/grenzendelphi.shtml
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Borti

Registriert seit: 11. Okt 2003
151 Beiträge
 
#3

Re: Treiberentwicklung

  Alt 20. Jan 2004, 09:48
Von Komponenten halte ich nicht so viel.
mit Delphi scheint das also ein ziemliches Unterfangen zu sein.
hast du eine DDK?
Ciao,
Borti
Ich hab's versucht
(auch wenn's nicht so aus sieht)
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Treiberentwicklung

  Alt 20. Jan 2004, 15:09
Ich wusste gar nicht, dass es verschiedene DKKs für Windows gibt, abgesehen von den verschiedenen Versionen. Grundsätzlich ist das neueste das beste. Allerdings stellt Microsoft seit einiger Zeit das DDK nicht mehr zum Download zur Verfügung, sondern verschickt es nur noch - gegen Rechnung versteht sich. Auf http://www.osronline.com/# gibt es aber immerhin den Dokumentationsteil zum Ansehen.

Aber ich würde dir zusätzlich das Lesen einer Lektüre empfehlen, da Treiber programmieren mehr ist als nur Interrupts bearbeiten und Peripherie ansteuern, auch wenn das schon eine ganze Menge ist.
Auf dieser Seite finden sich Buchtipps und ein Artikel über Treiberentwicklung. Außerdem sind ein zweiter Rechner und ein Nullmodemkabel nützliche Helfer bei der Treiberentwicklung.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Treiberentwicklung

  Alt 20. Jan 2004, 15:14
Und ich würde dir empfeheln, dir ein gutes C/C++ Forum zu suchen, da es mit Delphi nicht geht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#6

Re: Treiberentwicklung

  Alt 20. Jan 2004, 16:24
Das würde ich so nciht sagen, ich weiß nicht genau, aber mit Delphi 8 könnte es vielleicht gehen (ist allerdings auch nur eine Vermutung).
Alexander
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Treiberentwicklung

  Alt 20. Jan 2004, 16:28
Zitat von Alexander:
Das würde ich so nciht sagen, ich weiß nicht genau, aber mit Delphi 8 könnte es vielleicht gehen (ist allerdings auch nur eine Vermutung).
Wieso sollte es mit D8 gehen? .NET ist gedacht für Usermode-Programme, im Kernelmode hat das nichts zu suchen
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#8

Re: Treiberentwicklung

  Alt 20. Jan 2004, 16:32
Wenn du meinst, Chewie
Ich wusste es ja auch nicht genau, war wie gesagt nur ne Vermutung...
Alexander
  Mit Zitat antworten Zitat
Borti

Registriert seit: 11. Okt 2003
151 Beiträge
 
#9

Re: Treiberentwicklung

  Alt 20. Jan 2004, 18:56
Zitat:
Ich wusste gar nicht, dass es verschiedene DKKs für Windows gibt
schau mal auf http://www.jungo.com/dnload.html! Scheint was anständiges zu sein!
Zitat:
Aber ich würde dir zusätzlich das Lesen einer Lektüre empfehlen, da Treiber programmieren mehr ist als nur Interrupts bearbeiten und Peripherie ansteuern, auch wenn das schon eine ganze Menge ist.
Hört sich gefährlich an! Kann ich da groß Fehler bauen?
Jetzt mal ernsthaft: ich bin ja uaf dem Gebiet der Treiberentwicklung noch ein totaler Anfänger. Wie groß ist die Gefahr, dass ich meinen PC, Windows oder sonstiges schrotten?
Ciao, Borti
Ich hab's versucht
(auch wenn's nicht so aus sieht)
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Treiberentwicklung

  Alt 20. Jan 2004, 19:14
Zitat von Borti:
dass ich meinen PC, Windows oder sonstiges schrotten?
Deinen PC? Sehr gering. Das Problem dabei ist, dass du dir bei jeder Variable, die du verwendest, Gedanken machen musst, wo diese gespeichert werden soll. Also nix mit Variable deklarieren und verwenden, sondern du musst entscheiden, ob sie in einem Speicherbereich liegen darf, der ausgelasgert werden kann, oder ob sie unbedingt in dem vor Auslagerung geschützten Speicherbereich liegt, welcher aber natürlich nur recht begrenzt groß ist - und dein Treiber ist nicht der Einzigste, der Speicher braucht. Wolltest du im Rahmen einer Interrupt Service Routine (ISR) auf eine Variable zugreifen, die in einem ausgelagerten Speicherbereich liegt, dann passiert (zumindest unter NTff) Folgendes: Dein System präsentiert dir einen wunderbaren Systemaufhänger im blauen Gewand - einen Systemstop.
Das passiert bei den meisten Fehlern bei Treibern. Während bei "normalen" Anwendungen Programme sich bei Fehlern recht unproblematisch mit Exceptions oder Laufzeitfehlern melden, wirst du bei Treibern nicht um einen Systemneustart drumrumkommen. Der Grund ist, dass Usermode-Prozesse mit eingeschränkten Rechten laufen, Kernelmode-Prozessen vertraut das System allerdings uneingeschränkt. Bis du also einen funktionierenden Treiber hast, wirst du wohl viele Systemstopps erleben

Ich hab deinen Link angekuckt, interessante Sache, das ist wohl eine grafische Entwicklungsumgebung, mit der man sich einfacher Treiber basteln kann. Aber mit dem DDK meinte ich das DDK von Microsoft. Andere Produkte werden wohl auf diesem aufsetzen.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz