FAT auf Compact Flash auf C167

Gast #158980
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!
Gast #158981
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.