Hi liebe Forengemeinde, ich komme aus der AVR32 Ecke und taste mich nun in die Welt der ARM Controller. Dazu habe ich von einem Kollegen das STM32F4 Discovery Board bekommen. Ich habe noch nichts damit angestellt, würde mir aber die CooCox IDE zulegen und den GNU Compiler nutzen. Es gibt da noch Sachen, die für mich unklar sind: Das Board hat zwei USB Anschlüsse. Einen Mini USB Anschluss und einen Micro USB Anschluss. So wie ich das verstanden habe, kann der Mini USB Anschluss nur zum Flaschen/Debuggen benutzt werden. Kann ich den Micro USB Anschluss nutzen, um auf dem STM32F4 ein USB High-Speed Device einzurichten? Ich benötige den Controller unter anderem für die Übertragung von großer Datenmengen in kurzer Zeit, konkreter alle 3 ms wurden 2048 kB bearbeitet und liegen abrufbereit in einem Ringspeicher vor. Wenn der PC seitige USB Host denn mal Zeit hat, kann er sich die abholen. Das ganze möchte ich Controllerseitig mit DMA lösen. So habe ich das bisher auf dem AVR32 gemacht und es funktioniert prima. Den STM32F4 habe ich aus dem Grund, weil die Berechnungen, die in den 3 ms erfolgen müssen komplexer geworden sind und der AVR da nicht mehr hinterher kommt. Ich habe viel von USB OTG gelesen und dass sowohl FS als auch HS unterstützt wird, so weit alles klar. Dann habe ich gelesen dass für USB OTG im HS Betrieb ein externes PHY benötigt wird. Ist das NUR für USB OTG der Fall? Das heißt, ich kann das externe PHY als reines USB Device getrost weglassen? Die Internetseite, die sich mit USB auf dem STM32F4 beschäftigt habe ich noch nicht gefunden. Wenn irgendjemand Informationen darüber hat, kann er sie mir gerne mitteilen. Brauche davon noch sehr viel, was die Implementierung betrifft. Vielen Dank im voraus
Der STM32F2/4 hat nur Full-Speed Transceiver. Prinzipiell kann an die zweite USB Schnittstelle ein ULPI Baustein angeschlossen werden, um High-Speed zu machen. Auf den Discovery Boards sitzt aber kein ULPI Baustein, andere Demoboards mögen den Baustein aber haben. Um USB zum Laufen zu bekommen, kann Libopencm3 oder der Blackmagic Debug Probe als libopencme Anwendung Code schnell zum Erfolg führen. Falls man ein OS mit kooperativen Multitasking will, empfehle ich den SVN Trunk von Ethernut.
Hallo Uwe, erst einmal danke für deinen Beitrag. Hast du schon USB Verbindungen mit dem STM32F4 zum laufen gebracht? Ich verzweifle gerade an der suche nach einem Vendor Class Beispiel. Ich finde nur CDC VCP Beispiele aber nichts für eine eigene USB Verbindung. Zudem suche ich Beispiele, bei denen der USB Transfer mittels DMA stattfindet. Hast Du da evtl schon etwas aufgebaut? Viele grüße
Mit dem ST Code habe ich mich nicht beschaeftigt. Mit libopencm3 schon. Und damit habe ich USB Verbindungen zum Laufen gebracht.
auch auf einem STM32F4xx ? libopencm3 ist für STM32F103 soweit ich gesehen habe. Grüße Dieter
Hi Gerrit, hier ein Beispiel für USB-HID im Interrupt-Mode auf dem STM32F4 Discovery falls dir das weiterhilft http://mikrocontroller.bplaced.net/wordpress/?page_id=1993
Dieter schrieb: > libopencm3 ist für STM32F103 soweit ich gesehen habe. Dann schau noch mal genauer hin und verwende aktuelle Quellen. Warum hat den "Bootstrapping mit dem F4 Discovery" unter http://embdev.net/articles/STM_Discovery_as_Black_Magic_Probe bei mir funktioniert?
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.