www.mikrocontroller.net

Forum: PC-Programmierung USB Gerätetreiberentwicklung unter WinXP


Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle,

ich bin gerade dabei mich in die Entwicklung von USB Geräten 
einzuarbeiten.
Soweit so gut.

Jetzt muss ich langsam auch mal an die Entwicklung auf der 
Anwendungsseite denken. Mir ist allerdings noch nicht ganz ersichtlich, 
was dazu alles von Nöten ist.

Daher meine Fragen:

Brauche ich zwingend das XP DDK ?

Auch wenn ich nur HID Treiber verwenden will ?

Ist es auch möglich die Entwicklung mit dem Win 2003 Server DDK
durchzuführen ?

Oder ist die ganze DDK Geschichte vielleicht doch komplette unnötig ???

Bin gespannt auf eure Antworten.
Danke !

Gurß Tobias

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du nur HID-Devices nutzen willst, brauchst Du überhaupt keinen 
Devicetreiber, also auch kein DDK.

Ansonsten solltest Du Dir libusb-win32* ansehen, damit benötigst Du auch 
kein DDK, und Du wirst darum sehr, sehr froh sein. Wirklich.

*) http://libusb-win32.sourceforge.net/, aktuelle Downloads hier 
http://sourceforge.net/project/showfiles.php?group_id=78138

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort.
Irgendwie bekommt man von allen Seiten davon abgeraten eigene 
USB-Treiber zu entwickeln... warum nur ?  ;-)

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was mir jetzt allerdings noch nicht so ganz klar ist....
Wie komme ich ohne die DDK an die entsprechend benötigten Headerdateien 
? z.B. hidclass.h usw. ???

Autor: déjà vu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schau dir mal den sourcecodes von 
http://www.obdev.at/products/avrusb/index.html an. gibts mit nativer 
m$-hid-implementierung(zb. automator) oder per libusb-win32(zb. 
powerswitch).

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mhhh,
aber so wie ich das hier auf die schnelle sehe wird doch hier die 
verwendung der Win DDK durch die verwendung von MinGw umgangen ?

Muss ich jetzt also doch ein DDK anschaffen, wenn ich nicht solche 
"bastel" Lösungen verwenden will ?

Autor: déjà vu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ganz recht, die header stammen aus dem mingw-compiler. was anderes hab 
ich bis jetzt nicht benutzt, kann dir also zu "ernsthaften" compilern 
keinen tip geben.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was gegen das DDK spricht, ist die sehr unkomfortable Entwicklung damit, 
die katastrophal schlechte Dokumentation und die Tatsache, daß man als 
nicht-MSDN-Abonnent praktisch nicht mehr an das DDK herankommt.

Windows-Treiber sind unter anderen auch deswegen oft so schlecht, weil 
das DDK so mies dokumentiert ist.

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mhhhh und was sagt mir das jetzt ?

-> Ich brauche das mies Dokumentierte DDK.
-> Oder leihe mir die entsprechenden Bibliotheken von Linux.

Richtig ?

Wie sieht es bei der verwendung  von libusb aus ? Ist hierfür dann auch
das compilieren über MinGw notwendig oder wie wird das ganze hier gelößt 
?

Gruß Tobias

Autor: déjà vu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://libusb-win32.sourceforge.net/#installation
---
To use libusb-win32 in your own programs include the supplied header 
file usb.h, and link against the import library (libraries for GCC, BCC, 
and MSVC are available)
---

oder mit hilfe des ddk fuer den ersthaften kompiler neu kompilieren...

Autor: déjà vu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://libusb-win32.sourceforge.net/#development meinte ich natuerlich. 
aber #installation ist halt ein weiteres notwendiges uebel. mit der 
nativen hid-implementation wuerde das wegfallen und die software waere 
"standalone".

Autor: déjà vu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>oder mit hilfe des ddk fuer den ersthaften kompiler neu kompilieren...
grade nochmal nachgelesen. die libusb-win32 selber laesst wohl doch nur 
mit mingw kompilieren.

also bleiben an kompilern fuer deine software nur gcc, bcc oder msvc 
uebrig. ob die ernsthaft sind ist geschmackssache.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was bitte mag ein "ernsthafter Compiler" sein?

Autor: déjà vu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das gegenteil von
>"bastel" Lösungen

Autor: Bobby (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Was bitte mag ein "ernsthafter Compiler" sein?

Frag ich mich manchmal auch. Der GCC im MinGW ist definitiv zu 
gebrauchen, wahrscheinlich aber für manche zu billig. Jedenfalls ist da 
nicht mehr gebastelt als bei "Profi-Software".

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also die Sache mit der "bastel" Lösung war natürlich nicht so auf den 
Compiler bezogen. Der Gcc hat mir schließlich auch schon treue Dienste 
erwiesen.

Mit "Bastellösung" meinte ich ehr den Umstand, das man um 
Usb-Anwendungen für Windows zu schreiben ein Linux zu hilfe ziehen muss.

Aber so wie ich das jetzt sehe bleiben mir ja nur diese möglichkeiten.
Von daher werde ich jetzt mal die LIBUSB genau unter die Lupe nehmen.

Nochmal vielen dank für die Unterstützung und so wie ich es momentan 
sehe werde ich bald bestimmt noch ein paar Fragen in richtung UsbEw 
haben.

Viele Grüße
Tobias

Autor: comicinker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Frage an die libusb-win32 Fans: muss ich mich dafür mit den 
Windows-Treibern auskennen?
Ich versuche (m)ein HID-Gerät zum laufen zu bringen. Geht das 
prinzipiell oder muss ich die windows-api für HID-Geräte verwenden?

Irgendwie geht die libusb-win32 unter windows nicht richtig bein mir, 
unter Linux die libusb aber schon.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer einen Windows-Kernelmode-Treiber schreiben will, kommt um das MS-DDK 
leider nicht herum. Und sowas ohne MSDN-Abo anfangen zu wollen, ist mehr 
als mutig, denn damit bekommt man Zugriff auf die entsprechenden Foren, 
auf denen man Fragen von Fachleuten beantwortet bekommt.

Zur DDK-Dokumentation: Die für die 9x-Versionen war - wie Rufus schrieb 
- eine einzige Katastrophe. Das hat sich jedoch in den vergangenen 
Jahren radikal geändert: Die aktuellen Dokumentation zusammen mit den 
Resourcen, die MSDN zum Thema bietet, würde ich als gut bis sehr gut 
bezeichnen.

Das DDK wurde übrigens mittlerweile in WDK - Windows Development Kit - 
umbenannt.

Generell sind Kernelmode-Treiber ein sehr heißes Pflaster, das man ohne 
Not besser meidet: Die Systemstabilität hängt von jedem einzelnen 
Treiber ab und das System ist ihnen ziemlich schutzlos ausgeliefert, da 
sie auf dem Ring 0 laufen und alle Rechte des Betriebsystems haben.

Daß Windows nicht quelloffen ist, macht die Sache nicht eben leichter. 
Linux ist da angenehmer...

Schlechte Kernelmode-Treiber, meist von Drittherstellern - häufig 
natürlich bedingt duch die bescheidene Dokumentation - trugen viel zum 
schlechten Ruf von Windows bei. Bei 9x war das einfach nur grausam...

Dazu kommt übrigen noch eine kleine, aber fiese Klippe: Wer hierzulande 
MSDN nutzt, bekommt fürs selbe Geld nicht selten weniger Informationen 
zur Verfügung gestellt, als US-Kollegen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.