Forum: Mikrocontroller und Digitale Elektronik STM32F411 USB HOST f_write Phänpmen


von Andrey (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich bin gerade mit dem STM32F411 und USB Host beschäftigt.
Das notwendige Qullecode habe ich im STM32CubeMX erstellt.
Das FATFS wird auch mit eingebunden. Ich kann USB Sticks mounten, Files 
mit f_open anlegen (öffnen) und diese auch zu beschreiben. Soweit so 
gut...

Eine Kleinigkeit stört mich:
wenn der File auf dem USB Stick mit f_open , f_write angelegt und 
geschriben wird, lässt er sich nicht direkt vom USB stick am PC öffnen. 
Zum öffnen verwende ich HEX Editor MX.

Folgende Fehlermeldung wird angezeigt: "Datei könnte nicht gefunden 
werden". Siehe das Bild...

Wenn, aber, der ezeugte File vom USB Stick auf PC umkopiert wird, lässt 
er sich problemlos mit dem HEX Editor MX öffnen. Das File-Ihnalt stimmt 
auch!

Hat jemand vielleicht eine Idee, was da passiert?
Habe ich FatFs falsch konfiguriert ?

PS
Wenn ich f_printf verwende und eine Testdatei datei.txt auf dem USB 
Speicherstick erzeuge, lässt sich diese direkt vom USB Stick öffnen !!!

von Jim M. (turboj)


Lesenswert?

Versuche es mal mit GROSSBUCHSTABEN.

Dos 8.3 Filenamen unterstützen keine Kleinschreibung IIRC.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Andrey schrieb:
> eine Testdatei datei.txt auf dem USB Speicherstick erzeuge,
Und wenn du eine Textdatei datei.bin erzeugst, oder diese datei.txt in 
datei.bin umbenennst, kannst du diese Binärdateien dann öffnen?
Evtl.lässt irgendwas auf deinem PC das Öffnen von Dateien mit der Endung 
bin nicht zu.

: Bearbeitet durch Moderator
von Andrey (Gast)


Lesenswert?

Hallo Turboj,

die Größe von den Buchstaben wird automatisch vom FatFs angelegt.
Das kann in den Einstellungen von FatFs einstellen (Lange oder kurze 
File name...). Wenn Kurze , dann die Buchstaben erscheinen groß und 
nicht mehr als 8 zulässig. Habe ich bereits alles ausprobiert...

Danke für's Antwort !
Gruß

Andrey

von Andrey (Gast)


Lesenswert?

Hallo Lothar,

ich habe den Quellcode auf mehreren PC's ausprobiert. Mit Virenscanner 
und ohne. Ich habe die gleiche bin-Dateien mit Hilfe ATxmega128 erzeugt. 
Dabei den gleichen USB Stick benutzt. Auf dem gleichen PC startet vom 
USB Stick diese bin-Datei, aber die mit dem STM32 erzeugte nicht....

Den Vorschlag mit dem Umbenennen muss ich noch ausprobieren...

Danke für Antwort !

Gruß

Andrey

von Dr. Sommer (Gast)


Lesenswert?

Dann mach doch mal ein "CHKDSK" und schau dir im Hex Editor (HxD kann 
das) die Verzeichnis Einträge der selbst erzeugten und der von Windows 
angelegten Datei an. Gibt es Unterschiede?

von Andrey (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

die Lösung liegt bei den richtigen Einstellungen im FatFs 
Configuratiosmenu.
Der Eintrag FS_NORTC "Timestamp feature" wird als default auf Dynamic 
Timestamp gesetzt. Das ist falsh, so bekommt die erzeugte datei.bin kein 
Zeitstempel. Dadurch kann der Hex Edit MX ihn nicht starten.
Beim umkopieren auf die Festplate bekommt der File datei.bin eine 
Zeitstempel vom Betribsystem und wird sofort vom Hex Edit MX angezeigt.

Die richtige FatFs Eistellungen sind im Bild dargestellt.

Vielen Dank an alle für eure Vorschläge !!!

Gruß

Andrey

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.