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


von Benedikt S. (Firma: embedded projects GmbH) (flopper)


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

von Thomas P. (pototschnig)


Lesenswert?

Meinst du wirklich 4kByte?

Mfg
Thomas Pototschnig

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

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

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

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

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Thomas P. (pototschnig)


Lesenswert?

FAT12 hab nur mit einem Minimum von 33kb hingekriegt ...

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

Mfg
Thomas Pototschnig

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


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

von Thomas P. (pototschnig)


Lesenswert?

Natürlich unter Linux ;-)
1
mkfs.vfat -f1 -F12 -s1 -S512 -v -r 16 -C bla.img 128
2
3
mkfs.vfat 2.11 (12 Mar 2005)
4
bla.img has 64 heads and 32 sectors per track,
5
logical sector size is 512,
6
using 0xf8 media descriptor, with 256 sectors;
7
file system has 1 12-bit FAT and 1 sector per cluster.
8
FAT size is 1 sector, and provides 253 clusters.
9
Root directory contains 16 slots.
10
Volume ID is 46b186f7, no volume label.
11
12
df sagt:
13
Dateisystem           1K-Blöcke   Benutzt Verfügbar Ben% Eingehängt auf
14
/home/thomas/bla.img       127         0       127   0% /home/thomas/tmp

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

Mfg
Thomas Pototschnig

von Benedikt K. (benedikt)


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).

von Rolf Magnus (Gast)


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?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


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 :-)

von Wolfram (Gast)


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

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.