Forum: Mikrocontroller und Digitale Elektronik Länge der FAT bei FAT12/FAT16


von FATBastler (Gast)


Lesenswert?

Hallo, ich habe mich hier belesen zu FAT16:

http://de.wikipedia.org/wiki/File_Allocation_Table

Ich bin jetzt dabei, mit einer alten CF-Karte und einen Hexeditor ein 
bischen "Betriebssystem" zu spielen, weil ich später eine einfache FAT 
mit dem uC schreiben will (Bootsektor geht schon, wird von Windows auch 
akzeptiert)

Frage: Wovon ist die Länge der FAT abhängig? Nur von der 
Datenträgergröße und FAT12 oder 16? Die Länge steht ja im Bootsektor bei 
Byte 16,17 bzw. im Offset ab 20 (hex).

Nach der FAT (ich arbeite mit FAT16 und nur mit einer FAT, ohne Kopie), 
kommt das Stammverzeichnis. Es wäre in meinem Fall einfacher, wenn das 
immer an der gleichen Stelle stehen könnte... Dann würde ich mir sparen, 
festzustellen, was für eine Karte (wie groß) ich gerade stecken habe..

von Falk B. (falk)


Lesenswert?

@ FATBastler (Gast)

>Nach der FAT (ich arbeite mit FAT16 und nur mit einer FAT, ohne Kopie),
>kommt das Stammverzeichnis. Es wäre in meinem Fall einfacher, wenn das

Solche Tricks würde ich mir verkneifen. Das bringt nur Ärger.

>immer an der gleichen Stelle stehen könnte... Dann würde ich mir sparen,
>festzustellen, was für eine Karte (wie groß) ich gerade stecken habe..

Und was "sparst" du da?

MfG
Falk

von FATBastler (Gast)


Lesenswert?

naja, ich brauchte z.B. nicht ermitteln, wie groß meine CF-Karte ist. 
Ich schreibe mit meinem uC-Programm aus Performance-Gründen einfach 
Sektoren hintereinander weg auf die Karte. Danach will ich einen 
Bootsektor und eine passende FAT "dazuschreiben". Ich brauche nur max. 
16 Dateien, also einen Sektor im Stammverzeichnis. Bis jetzt erkennt 
Windows die CF-Karte im Kartenleser und liest die so manipulierten 
Einträge problemlos. Ich will vom PC aus auch nicht ändern / schreiben.

von Falk B. (falk)


Lesenswert?

@ FATBastler (Gast)

>naja, ich brauchte z.B. nicht ermitteln, wie groß meine CF-Karte ist.

Das steht doch im Directory bzw. Boot Sektor, oder?

>Ich schreibe mit meinem uC-Programm aus Performance-Gründen einfach
>Sektoren hintereinander weg auf die Karte. Danach will ich einen

Das geht aber nur bei einer leeren Karte.

>Bootsektor und eine passende FAT "dazuschreiben". Ich brauche nur max.

Ach so.

>16 Dateien, also einen Sektor im Stammverzeichnis. Bis jetzt erkennt
>Windows die CF-Karte im Kartenleser und liest die so manipulierten
>Einträge problemlos. Ich will vom PC aus auch nicht ändern / schreiben.

Naja OK. Wobei das Kopieren der FAT sicher kein grosses Thema wäre. 
Einfach jeden FAT Sektor zweimal schreiben.

MfG
Falk

von fubu1000 (Gast)


Lesenswert?

Hallo,
also ich würde an deiner Stellen schon auslesen, wie gross deine CF 
Karte ist.
Woher willste sonst wissen, wieviel Sektoren du für die FAT reservieren 
musst.
Du musst ja schliesslich alle Cluster deiner Karte im DAtenbereich zu 
ordnen können (+2 weil erste beide Stellen in FAT reserviert).
GRUSS

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.