Fat16

Hallo zusammen

Ich bin zur Zeit dabei, eine OpenSource Implementation für FAT16 auf meine Bedürfnisse anzupassen. Dabei steuere ich über einen MSP430 eine SD Karte, was auch hervorragend funktioniert.

Leider funktioniert der FAT Teil nicht ganz. Die formatierte SD Karte hat im ersten Sektor (=512 Byte) den Volume Boot Record (nicht der MBR!). Was dort genau drin steht kann man auf Wiki nachlesen.

Wie berechnet man den ersten FAT Sektor? Von der FAT Adresse kann ich ohne Probleme weiterrechnen, aber auf den ersten FAT Sektor komm ich einfach nicht.
Das schreiben ansich ist kein Problem, die Daten/directories/fat werden geschrieben - das Problem ist nur, dass sie am falschen Ort stehen und unter einem Betriebssystem nicht erkannt werden.

Vielen Dank für die Hilfe
--Marco
 
Position der 1. FAT = Anzahl reservierter Sektoren
Position der n. FAT = Anzahl reservierter Sektoren + n * Größe einer FAT
Erster datensektor = Anzahl reservierter Sektoren + Anzahl der FATs * Größe der FAT + Größe des rootdir's (in sektoren)
 
Danke für deine schnelle Antwort!

.. es hat sicher erledigt. Habe es hinbekommen.
Was es zu beachten gilt: Highbyte und LowByte sollten beim Word nicht verdreht werden....
so bekam ich anstelle von 0x0008 reservierte Sektoren 0x0800 - was ein bisschen viel ist.

Besten Dank & Gruss,
--Marco
 
Zurück
Oben