Forum: PC-Programmierung USB Gerätetreiberentwicklung unter WinXP


von Tobias (Gast)


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

von Rufus Τ. F. (rufus) Benutzerseite


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

von Tobias (Gast)


Lesenswert?

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

von Tobias (Gast)


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. ???

von déjà vu (Gast)


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).

von Tobias (Gast)


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 ?

von déjà vu (Gast)


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.

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Tobias (Gast)


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

von déjà vu (Gast)


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...

von déjà vu (Gast)


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".

von déjà vu (Gast)


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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Was bitte mag ein "ernsthafter Compiler" sein?

von déjà vu (Gast)


Lesenswert?

das gegenteil von
>"bastel" Lösungen

von Bobby (Gast)


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".

von Tobias (Gast)


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

von comicinker (Gast)


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.

von Uhu U. (uhu)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.