Forum: Mikrocontroller und Digitale Elektronik BPB Sector Wert von SD Karte


von Ilea U. (auftrag2007)


Angehängte Dateien:

Lesenswert?

hallo zusammen,

ich habe ein SD Karte unter WinXP als FAT16 formattiert, die alle 512 
Werten von "Sector Zero" in der Anhang-Datei eingefügt. und zwar hab ich 
folgende Fragen:

1. Warum ist mein BPB_RsvSeCnt(4Byte) = 0x0800, (MS Whitepaper sagt es 
sollte 1 sein)

2. Warum ist BPB_TotSec16(2Byte) = 0x0000(Dies Wert soll unbedingt 
non-zero sein, wenn man unter FAT16 steht)

3. Für die Partition-Dinge:
0x01BE für 1. Partitionseintrag
0x01CE für 2. Partitionseintrag
0x01DE für 3. Partitionseintrag
0x01EE für 4. Partitionseintrag
Details sieh. www.cc5x.de/mmc/FAT.html
d.h. die Adresse 0x01C6(2Byte) bei mir ist 0x4D65, ich habe die Inhalt 
von Sector 0x654D geschaut, das ist keinelei ein Volume Boot Record 
Sector weil es kein 0x55AA Signature hat.

übrigens, ich habe so ein mini-Test gemacht, dass auf der neuen 
formattierten SD-Karte ein txt-Datei mit 513 A-Zeichen erstellt wurde. 
Und nach der Untersuchung weiss ich die Inhalt der Datei wurde immer von 
Sector 520(dez) angefangen. und in Sector 521 hat man für diesen Fall 
nur eine A(überige Bytes sind alle NULLen).

Ist der DataSector immer von 520 angefangen? wenn ja, warum? wie 
berechnet man das?

Im Endeffekt, ich glaube ich bin etwa verwirrend bei der Offsetberechung 
für Rootverzeichnisssector wegen des Partitionierungsdings.

von winne (Gast)


Lesenswert?

das ist alles etwas komplizierter


die FAT verwaltet Cluster

und die zuordnung dercluster hängt seit dos 5 von der von der 
partitionsgröße ab

im MBR (sector 0 ) findest du die start- sektoren, cylinder und köpfe 
der jeweiligen partitionen in der jeweiligen partition befinet sich dan 
der Bootrecord und in diesem die BPB mit zal der bytes pro sector, 
sectoren pro clustergröße, zahl der reservierten sectoren pro cluster, 
zahl der FATs. zu beachten ist da dos nur ganze cluster verwalten kann. 
erst auf die FATs folgt das rootdirctory. dort befindet sich der link 
auf den starteintrag in der FATdort beginnt die clusterkette. jeder 
eintrag enhällt den verweis auf den folgenden cluster.

d.h. Du hast keine Sektororientierte sondern ein Clusterorientierte 
Plattengeometrie wieviele sectoren zu einem cluster gehören verrät der 
BPB der jeweiligen Partition

dies gilt auch für eien einzige Partition

nur bei nichtpartionierten platten/disketten ist der MBR gleich dem 
Bootrecord

von winne (Gast)


Lesenswert?

ich bin gerade am überlegen, ob ich meinen ATMEGA wirklich nen 
doskompatibles FMS verpasse oder einfach neine SD formatiere und 
Vollständig mit einer leeren Datei belege um darin fixe Paramterersätze 
anzulegen. Dann könnte ich ohne DOS und FAT direktadressiert auf die SD 
zu greifen, und währe trotzdem PC-kompatibel wo dann jedoch bei 2GB 
Dateien bestimmt der PC das glucksen bekommt.

Allerdings sollte man dann verhindern das DOS an der Dateigröße 
rumspielt.


?-)

von Ilea U. (auftrag2007)


Lesenswert?

Dank für eure Aufmerksamtkeit

das Problem war schon gelöst, Dateien in FAT könnten endlich von mein 
Atmega ausgelesen werden. ich glaube der Irrturm liegt an der 
verdoppelten FAT, eine ist in Sector 0x0008, die andere ist in 
Sector[Volume Boot Record + 0Eh(2Byte) in Volume Boot Record], wobei die 
Partitionierung für ein SD Karte überhaupt nicht nötig ist...

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.