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.