mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Gibt es eine minimale FAT Datenspeichergrösse?


Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

kennt jemand eine mind. Grösse für ein FAT Dateisystem?

1. Weiss jemand was Windows mit FAT meint (also wenn ich formatieren 
will) (FAT12, FAT16, FAT32, VFAT??)

2. Ich will ein 4 K Massenspeicher mit diesem "unbekannten Windows FAT" 
realisieren. Ist das vielleicht zu wenig?


Gruss Bene

Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meinst du wirklich 4kByte?

Mfg
Thomas Pototschnig

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja 4 KByte :-) (ist gerade der freie interne SRAM geht mehr um 
Testzwecke)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die kleinsten real existierenden FAT-Dateisysteme gab es auf einseitigen 
5.25"-Disketten mit 40 Spuren. Die hatten dann eine Kapazität von etwa 
180 kByte.

4 K dürfte zu wenig sein, das wären ja nur 8 Sektoren, einer geht für 
den Bootsektor drauf, zwei werden für die FAT und deren Kopie benötigt, 
mindestens einer geht fürs Root-Directory drauf ... bleiben noch 
sagenhafte 4 Sektoren für Nutzdaten. Wow.

Windows verwendet FAT12 nur auf extrem kleinen Datenträgern (< 32 
MByte), FAT16 bis 2 oder 4 GByte (letzteres geht dank 64 KB-Clustern, 
wird aber nicht von jedem System unterstützt) und FAT32 bei allem, was 
größer ist oder aber mehr als 64K Cluster erfordert.
Durch die Angabe der Clustergröße lässt sich in Grenzfällen beim 
Formatieren beeinflussen, welche FAT-Variante verwendet wird (FAT16 oder 
FAT32).

VFAT wird auf allen FAT-Varianten verwendet, das bezeichnet nur die 
Technik der Speicherung der "langen Dateinamen" in mehreren 
Directoryeinträgen.

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, dann werde ich wohl auf einem 128 KB SRAM die gleichen Probleme 
haben, dass es vermutlich zu klein ist?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist nicht auszuschließen.

Ob aktuelle Windows-Versionen überhaupt noch mit den steinzeitlichen 
FAT12-Formaten klarkommen, entzieht sich meiner Kenntnis. Zumindest 
normale Disketten funktionieren noch.

Allerdings habe ich noch nie ein USB-5.25"-Diskettenlaufwerk gesehen, 
daher weiß ich nicht, ob die USB-Massenspeichergeräteklasse so etwas 
definiert bzw. wo deren reale Limits liegen.

Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FAT12 hab nur mit einem Minimum von 33kb hingekriegt ...

Besorg dir lieber eine SD-Karte ... :-)

Mfg
Thomas Pototschnig

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wisst Ihr wie ich mit Windows eine FAT12 Formatierung erzwingen koennte?
Komme aus dem Linux Lager und hab daher kaum Ahnung bei Windows mit 
sowas.


Gruss Bene

Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich unter Linux ;-)
mkfs.vfat -f1 -F12 -s1 -S512 -v -r 16 -C bla.img 128

mkfs.vfat 2.11 (12 Mar 2005)
bla.img has 64 heads and 32 sectors per track,
logical sector size is 512,
using 0xf8 media descriptor, with 256 sectors;
file system has 1 12-bit FAT and 1 sector per cluster.
FAT size is 1 sector, and provides 253 clusters.
Root directory contains 16 slots.
Volume ID is 46b186f7, no volume label.

df sagt:
Dateisystem           1K-Blöcke   Benutzt Verfügbar Ben% Eingehängt auf
/home/thomas/bla.img       127         0       127   0% /home/thomas/tmp

128kb FAT12-Image mit 127 freien 1k-Blöcken

Mfg
Thomas Pototschnig

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FAT12 kann man eigentlich nicht erzwingen. Soweit ich weiß, ist alles 
<32MB automatisch FAT12 und alles darüber FAT16 (bis zu 1-4GB, dieser 
Bereich ist dann mit FAT16 oder FAT32 nutzbar).

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was willst du damit erreichen, ein FAT-Dateisystem im SRAM zu haben?
Evtl. könntest du die Daten ohne Dateisystem speichern und FAT "on the 
fly" simulieren.

> Wisst Ihr wie ich mit Windows eine FAT12 Formatierung erzwingen
> koennte? Komme aus dem Linux Lager und hab daher kaum Ahnung bei
> Windows mit sowas.

Warum willst du es dann unter Windows machen?

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja da bin ich jetzt auch grad dran mit dem on the fly simmulieren. Glaub 
das bringt mich zum Erfolg.

@Warum willst du es dann unter Windows machen?
Ich will nicht ich muss :-)

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok.
und jetzt kommen die realen Bestimmungen für FAT
minimales Dateisystem:
Du benötigst auf jeden Fall einen Bootsektor 512 Byte mit den Werten des 
FAT Dateisystems
Du brauchst 1 Sektor für das Hauptverzeichnis (512 BYte)
Da jeder Dateieintrag 32 Byte hat, kann dein Hauptverzeichnis max 16 
Einträge haben.
Du kannst angeben, daß du nur eine FAT hast. Bei deiner 4K Größe reicht 
also für die FAT ein Sektor
der Rest ist Datenspeicherbereich , also bei deinen 4K hättest du 
4K-1,5K=2,5K zum Daten speichern. Das sind max. 5 Dateien a 512 Byte, da 
jeweils der gesamte Cluster genutzt werden muß.(angenommene Clustergröße 
512 Byte)
FAT 12 mußt du in jedem Fall verwenden, da die Clusteranzahl (5) <4089 
ist und nach Dokumenten von Microsoft die Clusteranzahl entscheidet ob 
das Dateisystem als FAT12/16/32 erkannt wird.

Literatur:
PCIntern 3.0
Microsoftdokument zu FAT ist auch hier im Forum verlinkt

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.