Welche FAT lib ist die beste?

Gast #1202921
Gibt ja schon so viele FAT-Libs auf dem "Markt", da fällt es schwer sich 
zu entscheiden.

Ernsthafte libs sind z.B. die EFSL Lib, die Lib von Elm-Chan und die von 
Roland Riegel aus der Codesammlung.

Wichtig bei der Auswahl sind mir kompatibilität zu vielen SD-Karten und 
eine hohe Geschwindigkeit. RAM-Verbrauch ist egal.

Die Lib sollte flexibel einsetzbar sein (wie das dann aussieht bin ich 
mir nicht ganz sicher).

Hier hat bestimmt jeder mit unterschiedlichen Libs schon gute 
Erfahrungen gesammelt - vielleicht hat schonmal jemand verglichen und 
kann Stärken/Schwächen der einzelnen Libs benennen.

Target ist ein schneller µC mit DMA - es sollte also möglich sein die 
Lib mit DMA Funktionen zu versehen.
Gast #1202938
Die 'FAT'-Bibliothekt hat mit DMA noch garnichts zu tun, das ist einzig 
und allein Sache des IDE/SD/ATA-Controllers/-Codes, aber ich denke, das 
hast du richtig erkannt.

Wenn ausreichend Resourcen zur Verfügung stehen, hätte ich auch keine 
Probleme damit, das FAT-Modul eines Linux-Kernels zu portieren, das wäre 
wohl am vollständigsten und besten getestet.

Auch würde ich ernsthaft überlegen, was außer der Einfachheit noch für 
FAT spricht -- mit ausreichend Resourcen wäre Ext2 auch machbar, das 
kann mitunter etwas leistungsfähiger sein.
Gast #1202979
Es geht um SD karten die an windows PCs beschrieben werden sollen (also 
FAT).

Um das DMA ein zu bauen kommt es ja auch drauf an in wie weit die FAT 
lib mit den Funktionen zur Ansteuerung des Datenträgers verknüpft ist 
(eventuell gibt es Situationen indem man durch Verarbeitung während des 
auslesens und verwerfen von nicht benötigten Informationen Zeit sparen 
kann, das würde bei einem DMA nicht so gut gehen).
Gast #1203002
Die beste LIB ist immer die eigene. Nur da kann mann Universalität zu 
Gunsten z.B. Geschwindigkeit, Codegröße, RAM-Verbrauch usw. opfern oder 
an eigene Hardwarevorgaben (bei Dir DMA) anpassen.
Moderator Persönliche Seite #1203573
EFSL wird kaum mehr weierentwickelt, bietet aber ein recht flexibles 
Cachingsystem, das man u.U. aber nicht braucht. Im FAT-code sollten 
keine dramatischen Fehler mehr drin sein. Die beiliegenden 
Hardwaretreiber sind etwas verbessungsbürftig, nicht zuletzt die von mir 
(mit-)verbrochenen.

Chans FAT-Module ist kompakt und recht übersichtlich. Teilweise aber 
etwas in "Stenno" programmiert. Man kann sich reinarbeiten, düfte aber 
eher selten notwendig sein.

Um libtat von devkitpro kümmert sich auch noch jemand. Ist einen Blick 
wert. Bietet bis auf fertige low-level-Treiber für "übliche" 
Mikrocontroller so ziemlich alles (FAT32, Cache-System, LFN), braucht 
aber mehr Resourcen.

Ein Kriterium für Auswahl in Bezug auf Geschwindigkeit kann auf sein, ob 
die Library schon multiblock read/write vorgesehen. Weitern: 
Vorbereitung für konkurierenden Zugriff bei Anwendung mit RTOS, kann man 
aber zu Not noch eine Ebene über dem FAT-code selbst dazubauen. Lizenz 
ist auch zu beachten.

Low-Level-Treiber für SPI/SD-CARD-Interface finden sich einige im Netz, 
oft in den Beispielsammlungen der Hersteller. Man muss diese dann nur an 
die Aufrufconventionen der benutzen Library anpassen (block_read/write 
evtl. multisektor). Wenn man für den Controller der Wahl garnichts 
findet, kann man recht einfach vorhandene Beispieltreiber für SPI (z.B. 
von Chan f. AVR) umbauen und gegebenenfalls später optimieren (z.B. DMA 
etc.). Hat wie schon geschrieben wenig mit dem FAT-code selbst zu tun 
und man kann aufgrund der detaillierten Angaben zum Target wenig 
Hinweise geben. Der Absatz "Um das DMA ein zu bauen..." kommt nicht 
durch meinen Bioparser.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.