Forum: Mikrocontroller und Digitale Elektronik FAT auf Compact Flash auf C167


von Buzzdi (Gast)


Lesenswert?

Hallo,
ich bin dabei einen Compact Flash Zugriff auf einem
C167er zu entwickeln!
Die Vorgaben sind:
-mit FAT (16, 32)
- schnell
- mehrere Dateien gleichzeitig öffnen (lesen und schreiben)

Hat da jemand schon Erfahrungen mit??

Mfg Buzzdi

von Rufus T. Firefly (Gast)


Lesenswert?

Nö. Aber bedenke, daß Du dafür viel Speicher brauchst. Im Idealfall
solltest Du die gesamte FAT im Speicher halten können - und die kann
bereits bei FAT16 ziemlich groß werden (128 kByte). Bei FAT32 ist die
FAT mehrere Größenordnungen größer - das können schnell mehrere
Megabyte werden.

Wenn Du die FAT nicht im Speicher hältst, musst Du sowohl beim
Dateilesen als auch -schreiben permanent zwischen eigentlichen Datei-
und FAT-Zugriffen hin- und herspringen. Und das verlangsamt die ganze
Chose erheblich.

Dennoch: viel Erfolg!

von dave (Gast)


Lesenswert?

So langsam wird dann auch nicht. Such dir einfach mal nen paar
Codebeispiele in C an (von irgendwelchen Projekten, z.B. die von
ulrichradig.de).

Du brauchst halt für jede offene Datei mindestens 512Byte, besser
Clustergröße (bei FAT16 max. 128kb glaub ich).
512byte sind ein Sektor, das was meistens die kleinste zu verwaltende
Einheit darstellt. Eine Datei ist immer mindestens einen Cluster groß
(Zuordnungseinheit).

Die FAT kann man ja recht einfach berechnen und wenn die CF nicht sooo
fragmentiert ist, reicht ein Sektor schon für ein paar mal lesen von
nem Cluster aus, denn in 512b passen 128Cluster.
Lass am besten beim Clusterauslesen immer den letzten Teil der FAT
(bzw. beider Fats bei 32) im Speicher, dann kannste meistens etwas
schneller arbeiten).

Dein "schnell" kommt auf dich an ;)

dave

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.