mikrocontroller.net

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


Autor: FATBastler (Gast)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

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

Autor: FATBastler (Gast)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

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

Autor: fubu1000 (Gast)
Datum:

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

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.