Forum: Projekte & Code kleines read-only Dateisystem auf einem CortexM (fopen, fscanf, fclose)


von Basti (Gast)


Lesenswert?

Hallo,

nicht all zu spektakulär: ein sehr einfaches read-only-Dateisystem auf 
einem CortexM
Irgendwie hat mich gewundert, dass ich nichts Vergleichbares aber auch 
Einfaches gefunden habe. Evtl. habe ich auch nur 10 weitere Projekte 
dieser Sorte übersehen :D

Ein bisschen Fließtext, der hoffentlich das wichtigste klären sollte:
https://sebastianfoerster86.wordpress.com/

Oder direkt zum Abtauchen in den Quellcode:
https://github.com/Counterfeiter/CortexM-read-only-FileSystem

Hintergrundinfo:
In meinen nächsten Blogposts wird es um Neuronale Netze und 
Reinenforment Learning auf dem CortexM4 gehen. Dazu brauchte ich dieses 
Dateihandling.

Viele Grüße

Basti

von Stampede (Gast)


Lesenswert?


von TriHexagon (Gast)


Lesenswert?

Ja das musste ich auch schon feststellen und hab mir ein eigenes 
readonly Dateisystem spezifiziert. Möglichst einfach und mit wenig 
Overhead, direkt im ROM adressierbar ohne Sektoren etc.. Bin aber noch 
nicht dazu gekommen Treiber dafür zu schreiben.

FATFS ist nicht unbedingt für sowas geeignet, weils einfach zu viel 
Platz verschwendet und unnötigen Verwaltungsoverhead erzeugt. Gerade 
wenn man viele kleine Dateien hat. Wenn einem das aber nichts ausmacht, 
kann man es schon nehmen.

von Basti (Gast)


Lesenswert?

Stampede schrieb:
> FatFS kennst du?

Hallo,

das habe ich auch schon im Zusammenhang mit SD-Karten eingesetzt, aber 
hat nicht meine Erwartungen erfüllt: einfach.
Mit den syscalls sind es nur 4 Funktionen die zu implementieren sind. 
Vielleicht 150 Zeilen Quellcode und fertig. Da ist FatFS schon ein ganz 
anderes Kaliber.

> readonly Dateisystem spezifiziert.

Wie sieht es denn aus? Bei mir gibts eigentlich nur:
Fix:
- Pointer auf Datei
- Dateilänge
- Dateiname (keine Pfade)
Dyn:
- aktuelle Datei-Lese-/schreibposition
- File-Handle (Kennung ob Datei geöffnet oder nicht)


VG

von Nop (Gast)


Lesenswert?

TriHexagon schrieb:
> Ja das musste ich auch schon feststellen und hab mir ein eigenes
> readonly Dateisystem spezifiziert. Möglichst einfach und mit wenig
> Overhead, direkt im ROM adressierbar ohne Sektoren etc..

Da kannste auch einfach das Tool xxd nehmen und die Datei dann als 
Headerfile einkompilieren. Overhead = Null.

von Basti (Gast)


Lesenswert?

Ich hatte auch mal ein Renesas Dev-Kit, da gab es eine Execute dazu, die 
hat aus allen Dateien in einem Ordner eine verkettet Liste als 
Header-File erstellt. Wäre auch was feines, finde es nur nicht mehr 
wieder.

VG

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.