Forum: Compiler & IDEs USB Device Stack + mmc_lib + fat_lib?


von Josef K. (josefk)


Lesenswert?

Hallo zusammen,

ich versuche gerade den MyUSB Stack und das dazugehörige MassStorage 
Demo von http://www.fourwalledcubicle.com/ auf eine SD-Karte zu 
portieren.
Dazu habe ich die mmc_lib aus der Codesammlung benutzt und  damit die 
Schreib- und Leseroutinen des Demos ersetzt. Schreiben und lesen sollte 
funktionieren, bzw funktionieren, insofern ich diese "manuel" auslöse.
Stöpsle ich aber das Gerät an, dann meldet mir Windwos, dass das 
USB-Gerät nicht richtig funktioniert.
Daher frag ich mich, was ich noch machen muss, damit das funktioniert.
Weiß Windows überhaupt, dass es sich bei dem Massstorage-Device um ein 
FAT-Dateisystem handelt? Was fordert Windows von meinem Gerät. Ich habe 
dazu leider nichts gefunden bzw. verstanden. :)

Was ich bis jetzt habe:
- kompletten USB-Device-Stack mit Endpoints usw.
- mmc/sd Schreib- und Lesefunktionen
- funktionierende Hardware

Brauche ich also noch FAT Funktionen? Ich ging immer davon aus, dass mir 
Windows Blockadressen schickt und ich damit dann lesen oder schreiben 
soll. Daraus könnte man doch dann feststellen, ob es sich um FAT32 etc. 
handelt. Daher dachte ich, dass alles weiter Windows übernimmt (also 
Dateimanagement usw.).
Ich bin mir aber nicht mehr so ganz sicher. Ich hoffe damit kennt sich 
jemand besser aus und kann mir weiter helfen.

von Josef K. (josefk)


Angehängte Dateien:

Lesenswert?

Ach ja. Ich poste hier noch die Kommunikation beim Einstöpseln meines 
"USB-Gerätes" :)

von Εrnst B. (ernst)


Lesenswert?

Hast du auch ein Mass-Storage Device implementiert, oder nur den nackten 
USB-Device Stack? Wurde oben nicht klar.
Und dann brauchts vermutlich noch einen SCSI-Command Interpreter, der 
die über USB gesendeten SCSI-Anweisungen auf deine MMC-Routinen 
runterbricht.

von Josef K. (josefk)


Lesenswert?

Ersteres Ja, und zweiteres habich auch grad bemerkt. Bin gerade dabei 
soetwas zu schreiben. Daran habe ich nciht mehr gerdacht. Wenn man den 
Mitschnitt anschaut ist das auch logisch, dass es daran scheitert :)
Auf Wunsch poste ich hier meinen Fortschritt und evtl sogar doch noch 
was fertiges.

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
Noch kein Account? Hier anmelden.