STM32 USB als individuelles Gerät (kein VCP)

Gast #2518051
Lesenswert?

Hallo,

ich nutze erfolgreich die USB Device Library für den STM32 F10x, derzeit 
im VCP Modus.
Ich hätte gerne eine Lösung, bei der sich mein Schaltung als 
individuelles USB-Gerät meldet, und nicht als eine 
Standard-Geräteklasse.

Die Beispiele von ST sind ja so gewählt, dass keine Treiber nötig sind: 
HID-Device, Audio-Device, Mass-Storage. Nur für den VCP stellt ST einen 
Windows Treiber zur Verfügung - aber letztendlich hat man damit auch 
kein individuelles USB-Gerät, sondern eben einen virtuellen Com Port.

Könnt ihr mir auf die Sprünge helfen wie ich ein eigenes Gerät 
entwickeln kann? Man braucht ja irgendeinen Treiber, der über eine API 
(.dll) den Zugriff auf das Gerät ermöglicht. Leider konnte ich keine 
Beispiele bei ST oder im Internet finden.

Welche USB Class letztendlich für die Übertragung verwendet wird, ist 
untergeordnet (am liebsten isochron Audio, aber auch CDC, DFU...) 
hauptsache das Ding taucht im Gerätemanager als eigene USB Hardware auf.

Danke, Sven
#2518075
Lesenswert?

Du musst keinen USB Treiber programmieren. Du kannst einfach ein Gerät 
machen mit beliebigen Endpoints, und eine vendor-specific class und 
darauf mit LibUSB oder WinUSB zugreifen. Das sind generische USB 
Treiber. Wobei ich perönlich mehr zu WinUSB tendieren, einfach weil der 
in jedem Windows seit XP SP2 drin ist und signiert, also auch für x64 
ohne Klimmzüge machbar. geht aber mittlerweile bei der LibUSB wohl auch. 
Über diese Treiber/DLL kannst du dann einfach Böcke an die Endpoints 
schreiben oder von denen lesen. Ist total einfach. Isocron geht aber mit 
WinUSB nicht. Würde ich auch nicht machen, denn da hast du keine 
Datensicherheit.
Gast #2518521
Lesenswert?

Besten Dank, die Sache mit der libUSB klingt sehr interessant. Das werd 
ich mir mal reinziehn.

ps. ja ich weiss dass isochron keine Datensicherheit gewährleistet, aber 
die garantierte Bandbreite wäre ein Vorteil.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren