Hallo Gemeinde, ich möchte, dass beim Anstecken meines Nucleo-Boards über USB an den PC, ein Laufwerk erscheint. (z.B. im Windows Explorer) Diese soll les- und schreibbar sein. Bevor ich jetzt in die falsche Richtung losmarschiere, hier meine Fragen: Ist das Nucleo-Board für diesen Modus ein Host oder ein Device? Kann CubeMx dafür hilfreich sein, oder gibt es bessere Implementierungen? Target wäre ein STM32L496. Viele Grüße Runout
runout schrieb: > Ist das Nucleo-Board für diesen Modus ein Host oder ein Device? DAS kannst du nicht beantworten? Ist ein USB Stick Host oder Device?
Hi, das wäre zu einfach... ;-) Der USB-Stick ist quasi der PC. Wenn ich einen USB-Stick an die MCU anschließe, dann ist der Stick das Device und die MCU der Host. Der "Stick" ist über USB-Mass-Storage-Class angeschlossen. Es gibt von STM entsprechende Host- und/oder Device-Lib. Daher das Verständnisproblem. Grüße Runout
runout schrieb: > Hi, > > das wäre zu einfach... ;-) Nein. Es ist einfach. > Der USB-Stick ist quasi der PC. Wirr? Es geht darum ein Nucleo Board als USB-Stick-Ersatz zu betreiben. > Wenn ich einen USB-Stick an die MCU anschließe, > dann ist der Stick das Device und die MCU der Host. > > Der "Stick" ist über USB-Mass-Storage-Class > angeschlossen. > > Es gibt von STM entsprechende Host- und/oder Device-Lib. > Daher das Verständnisproblem. Bei so viel Wirrnes und Unverständnis wird das nichts.
runout schrieb: > ich möchte, dass beim Anstecken meines Nucleo-Boards > über USB an den PC, ein Laufwerk erscheint. > (z.B. im Windows Explorer) > Diese soll les- und schreibbar sein. widerspricht runout schrieb: > Der USB-Stick ist quasi der PC. > > Wenn ich einen USB-Stick an die MCU anschließe, > dann ist der Stick das Device und die MCU der Host. Was willst du nun genau machen?
runout schrieb: > Ist das Nucleo-Board für diesen Modus ein Host oder ein Device? Device. runout schrieb: > ich möchte, dass beim Anstecken meines Nucleo-Boards > über USB an den PC, ein Laufwerk erscheint. Sicher dass das die beste Idee ist? Soll das Nucleo hier wirklich nur als Datenablage fungieren (mit SD-Karte oder so) oder soll das Nucleo die Daten doch auch selbst verarbeiten, als Steuerung für irgendwas? Dann wäre Mass Storage (USB-MSC) ggf. ziemlich umständlich. Wenn es nur darum geht, dass du ohne Treiber-Installation Daten austauschen möchtest, gibt es bessere Wege - z.B. als WinUSB Device. Was möchtest du also genau erreichen? runout schrieb: > Kann CubeMx dafür hilfreich sein, oder gibt es bessere > Implementierungen? Das enthält Libraries dafür, ja. Wenn du es selbst implementieren möchtest, und/oder doch keine der dort gebotenen Standard-Klassen verwenden willst (was wie gesagt möglicherweise sowieso nicht die beste Idee sein könnte): USB-Tutorial mit STM32 Wobei das auf den STM32L496 nicht so zutrifft, weil der die komplexere "USB-OTG" Peripherie hat.
Johannes S. schrieb: > Bzw steckt in MSD das D für device ja schon drin. Was aber niemanden daran hindert trotzdem maximal verwirrt zu sein. Klare und logische Schlussfolgerungen sind des TE Sache nicht.
Hallo, zur Funktion: Es soll nur ein ca. 1MB großes Firwarefile in diesem Laufwerk abgelegt werden. Der von Niklas vorgeschlagene, umgekehrte Weg wäre besser, ist aber nicht gewünscht. Habe jetzt zwei brauchbare Quellen gefunden. -"STM32_USB-Host-Device_Lib_V2.2.0" (STM32F4) -HAL generiertes Projekt (STM32L4) und DIE Referenz: usbmassbulk_10_Ref1_0.pdf Vielen Dank an alle, vor allem Cyblord, dem pädagogischen Feinfinger in diesem Forum... Grüße Runout
runout schrieb: > Der von Niklas vorgeschlagene, umgekehrte Weg wäre besser, > ist aber nicht gewünscht. Was ist denn daran "umgekehrt"? runout schrieb: > Es soll nur ein ca. 1MB großes Firwarefile in diesem Laufwerk abgelegt > werden. Und was passiert dann damit? Soll der Controller sich damit selbst überschreiben? Oder das auf einen anderen Controller flashen?
eine weitere Quelle: mbed, das Nucleo L496 wird auch unterstützt. https://os.mbed.com/docs/mbed-os/v5.13/apis/usbmsd.html
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.