www.mikrocontroller.net

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


Autor: Buzzdi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.