Es ist noch nicht ganz fertig (v.a. stehen noch einige Tests an), aber ich möchte trotzdem schon mein Dateisystem unter
www.roboter.cc/index.php?option=com_nicaiwci&view=project&Itemid=41&projectid=1872 vorstellen.
Das ist v.a. nützlich, wenn man dynamische Daten hat, deren Größen sich ändern - seien es Logdaten, Wegpunktlisten oder auch Interpreterprogramme, man aber keine "große" Lösungen wie SD-Karten etc. verwenden möchte. Gerade die größeren AVRs haben schon recht viel internen Speicher, wo es nur noch an Verwaltung fehlt.
Features:
* lesen/schreiben/überschreiben/verkleinern/löschen/formatieren
* FAT-artig (aber mit wesentlich kleinerem Verwaltungsoverhead für Bootsektor, Dateiverwaltung etc.)
* deswegen: Keine Dateinamen, nur Nummern
* auf kleine Dateien und Speicher ausgelegt, deswegen (fast) keine Buffer, keine Dateihandles etc.
* Zwischen FAT8(tiny) und FAT16 zur Kompilezeit umschaltbar
* FAT8: max. 256 Byte Sektoren, max. 256 Sektoren, max. 256 Dateien, max. Datei/Dateisystemgröße von 64 KB
* FAT16: max. 2^16 Byte Sektoren, max 2^16 Sektoren, max. 2^16 Dateien, max. Datei/Dateisystemgröße von 4 GB
* tiny: 3KB Maschinencode, normal; 4,3KB Maschinencode
* "Treiber" für RAM und EEPROM
TODO:
* Treiber für Flash
* Weitere Tests (größere Dateisysteme, truncate etc.)
Falls ihr euch über die #ifdef AVR wundert: auf diese Art & Weise kann ich es erstmal leicht nativ auf meinem Notebook testen.
Ich hab versucht es möglichst klein zu halten.
Für Tipps, Anregungen, Fragen, Hinweise etc. bin ich immer dankbar