Hallo, ich versuche gerade die STM32-USB-Firmware-Bibliothek auf einem Olimex-Board (P103) zum Laufen zu bringen, doch die Enumeration schlägt fehl. Ich arbeite mit Codesourcery Lite und habe ein Beispiel-Projekt von Martin Thomas auf die neueste Standard-Firmware-Bibliothek angepasst. Aus dieser Bibliothek bekomme ich auch alle Beispiele problemlos zum Laufen. Die USB-Bibliothek wird richtig kompiliert und läuft ohne Fehlermeldungen durch, aber nach dem Flashen und Anstecken des USB-Kabels meldet Windows nur ein unbekanntes Gerät. Die USB-Bibliothek selber habe ich (fast) nicht verändert, ich habe nur den Pin für die Aktivierung des 1K5-Pull-Ups an D+ entsprechend geändert für das Olimex-Board. Der Rest sollte unabhängig von der Hardware bzw. identisch mit den anderen Entwicklungsboards sein (z.B. 8MHz Quarz), für die die Beispiele eigentlich geschrieben worden sind. Im Anhang findet sich der komplette Trace nach Einstecken des USB-Kabels des Olimex-Boards. Das Board reagiert scheinbar überhaupt nicht. Dementsprechend sind die Vendor und Product ID danach auch 0 und es können keine Treiber geladen werden. Das Problem klingt genau nachdem, was bereits im Forum von STM durchgekaut wurde: http://www.stm32circle.com/forum/viewtopic.php?id=239 Einige andere scheinen ebenfalls noch diese Probleme zu haben, nur nirgendwo findet man eine Antwort. Vielleicht weiß ja hier noch jemand Rat, ich danke schonmal für jede konstruktive Antwort.
Im ersten Posting habe ich den falschen Screenshot erwischt, das war der Trace des Hubs. Im angehängten richtigen Screenshot sieht man, dass wirklich nur immer 0x0000 vom STM32F103 zurückkommen. Da das Programm läuft, kann eigentlich wirklich nur die Interrupt-Routine nicht aufgerufen werden...
Ralf H. schrieb: > Schau erst mal mit einer LED, ob es wirklich der Interrupt (welcher > überhaupt?) ist. Der USB-Low-Priority-Interrupt. Das mit der LED hatte ich mangels JTAG genauso getestet, um festzustellen, ob der Interrupt aufgerufen wird. Dies war aber nicht der Fall. Inzwischen habe ich aber den Fehler, ich hatte den falschen Start-Up-Code. Das Beispiel von Martin Thomas benutzt die Version 1 der Bibliothek, ich habe aber die aktuelle dritte Version eingebunden und übersehen, dass sich der Start-Up-Code verändert hat. Jetzt funktioniert alles.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.