USB lib stm32

Gast #3871290
Lesenswert?
• ▲
▼
Hallo,

ich verwende KEIL + stm32f4 und wollte mal in die USB Welt einsteigen. 
Jetzt frage ich mich, welche USB lib ich nutzen sollte.

Von KEIL gibts ja eine, aber leider sind da ja die Source-Codes nicht 
dabei. Aber Vertrauen in KEIL und deren Support ist hoch. Hat jemand 
schon Erfahrung mit der Lib gemacht?

Von ST gibts ja auch eine.  Ist umsonst + Source Codes... schön, aber 
mein Vertrauen in die Libs ist nicht wirklich hoch... Daher auch hier 
Frage, ob jemand damit schon gearbeitet hat und wie gut die lib so 
läuft?


Mir wäre es wichtig die SourceCodes mitgeliefert zu bekommen, so dass 
man im Falle aller Fälle doch noch selber ran kann. Hat hier jemand 
vielleicht noch andere Tips?

Danke und LG
Gast #3874107
Lesenswert?
• ▲
▼
Ich habe mal mit der ST USB Library gearbeitet, um die Daten vom 
Accelerometer auf dem STM32F4Discovery Board per USB zum PC zu schicken. 
Erstellung des USB-Deskriptors ist wie üblich etwas Fummelei, 
Integration der Library in das Projekt ist machbar. Beachten muss man 
einen Buffer-Overflow-Bug in der Library, denn sie speichert empfangene 
USB-Pakete immer komplett in den Empfangspuffer, selbst wenn dieser zu 
klein ist (und die Library das auch "weiß"). Daher muss der Puffer immer 
groß genug für ein komplettes Packet ( USBD_EP0_MAX_PACKET_SIZE ) sein, 
wenn man ihn an DCD_EP_PrepareRx übergibt.
Ist halt typische ST-Software-Qualität - "funktioniert irgendwie"...
Gast #3874500
Lesenswert?
• ▲
▼
Selber rausgefunden, mithilfe des Debuggers und Watchpoints... Besonders 
fies war dass der Overflow einen vtable Pointer überschrieb, und dadurch 
ein scheinbar harmloser (virtueller) Funktionsaufruf zum Absturz 
führte...

Und naja, eingearbeitet hab ich mich nicht wirklich, nur per Debugger 
die Stelle gefunden. Schau dir doch den Code einfach an und entscheide 
selbst ob du dich einarbeiten kannst...
Gast #3874510
Lesenswert?
• ▲
▼
Programmierer schrieb:
> Schau dir doch den Code einfach an und entscheide
> selbst ob du dich einarbeiten kannst...

da führt wohl kein weg daran vorbei ;) das mit dem einarbeiten ist ja 
immer eine frage der zeit und nerven... daher hatte ich gehofft, im 
vorhinein schonmal in die richtige richtung gelotst werden zu können, 
damit man gleich mit was vernünftigen arbeitet.

vielen dank auf jeden fall für deine erfahrungswerte

lg
(Firma: EleLa - www.elela.de) #3874517
Lesenswert?
• ▲
▼
Ich bin auch gerade an der ST USB Lib dran und habe damit auch Probleme.

Ich habe es soweit hin bekommen dass ich mit einerm PC Programm Daten 
austauschen kann. Wenn jedoch STM32 seitig der TX Buffer nonstop befüllt 
wird, dann "Hängt" der STM32 im USB Interrupt fest (Empty EP Interrupt)

PC Seitig habe ich LibUSB mit einem Programm das per Timer alls 10ms den 
USB Buffer ausliest.

Ich habe schon viel debuggt, aber irgendwie finde ich den Bug nicht :-/

Weiß jemand Rat?

Ansonsten habe ich zufällig heute ein STM32F4 Demo gefunden, das WinUSB 
nutzt, und zwar so dass man keine extra INF/SYS Datei benötigt, getestet 
habe ich das noch nicht:
http://searchingforbit.blogspot.com/2014/05/winusb-communication-with-stm32-round-2.html

Quellen gibt es per SVN.

Die Beschreibung von MSDN:
http://msdn.microsoft.com/en-us/library/ff540196.aspx

Die Sachen von Keil wollte ich jetzt nicht nehmen, ist mir zu teuer für 
Hobby. Schreibe bitte was für Fortschritte Du mit USB gemacht hast.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.