Forum: Mikrocontroller und Digitale Elektronik CF-Karte MBR


von Ralf (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bin zur Zeit daran, eine Compact Flash Karte mit einem Mega 128
auszulesen. Ich habe den Eindruck, dass meine Funktion zum Sector lesen
funktioniert, da ich zusammenhängende Sätze ausgelesen bekomme und die
Daten, die ich empfange auch wiederholt die gleichen sind. Ich betreibe
die Karte im memory mapped mode. Nun habe ich meine CF-Karte über einen
Kartenleser mit dem FAT32 Dateisystem formatiert und versuche nun die
Daten auszuwerten. Leider stimmen diese soweit ich das sehen kann nicht
mit der FAT32 Spec. überein.

Ich lese die folgenden Daten (LBA = 0) aus:
ú3ÀŽÐ¼|‹ôPPûü¿¹ò¥ê¾¾³€<€t€<uƒÆþËuïÍ‹‹L‹îƒÆþËt€<tô¾‹¬<t 
V»´Í^ëðëþ¿»|¸WÍ_s3ÀÍOuí¾£ëӾ¿þ}=UªuNjõê|Invalid
partition tableError loading operating systemMissing operating
system€Ðà àЖ

Hexadezimal sieht das ganze so aus:
FA 33 C0 8E D0 BC 00 7C 8B F4 50 07 50 1F FB FC BF 00 06 B9 00 01 F2 A5
EA 1D 06 00 00 BE BE 07 B3 04 80 3C 80 74 0E 80 3C 00 75 1C 83 C6 10 FE
CB 75 EF CD 18 8B 14 8B 4C 02 8B EE 83 C6 10 FE CB 74 1A 80 3C 00 74 F4
BE 8B 06 AC 3C 00 74 0B 56 BB 07 00 B4 0E CD 10 5E EB F0 EB FE BF 05 00
BB 00 7C B8 01 02 57 CD 13 5F 73 0C 33 C0 CD 13 4F 75 ED BE A3 06 EB D3
BE C2 06 BF FE 7D 81 3D 55 AA 75 C7 8B F5 EA 00 7C 00 00 49 6E 76 61 6C
69 64 20 70 61 72 74 69 74 69 6F 6E 20 74 61 62 6C 65 00 45 72 72 6F 72
20 6C 6F 61 64 69 6E 67 20 6F 70 65 72 61 74 69 6E 67 20 73 79 73 74 65
6D 00 4D 69 73 73 69 6E 67 20 6F 70 65 72 61 74 69 6E 67 20 73 79 73 74
65 6D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 01 01 00 0B 07 D0 E0 20 00
00 00 E0 D0 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 96

Habe ich da ein Verständnisproblem, oder ist der MBR bei CF-Karten
anders aufgebaut?

Habe euch mal meinen Code angehängt.

Hoffe ihr könnt mir Helfen,

viele Grüße,

Ralf

von Matthias (Gast)


Lesenswert?

Hi

wenn das eine Partitionstabelle sein soll dan fehlt da schonmal die
Kennung 0x55aa am Ende. Es ist also keine Partitionstabelle.

Deswegen würde ich mal tippen das die CF als SuperFloppy formatiert ist
und damit keine Partitionstabelle sondern der BootSektor der
Partition.

Matthias

von Ralf (Gast)


Lesenswert?

Hi,

danke für deine Hilfe! Habe den Fehler denke ich gefunden. Ich habe
einfach zu wenig an den PC gesendet. Das mit der Endekennung hatte mich
auch stutzig gemacht. Die Karte sollte richtig formatiert sein, dass
zeigt Windows zumindest an. Habe die Karte auch nochmal neu formatiert
und darauf geachtet, dass FAT32 eingestellt war.

Kann es denn sein , dass Windows bei der Formatierung diese Strings
einfügt?

'partition tableError loading operating systemMissing operating
system'

Logisch kommmt es mir ja eigentlich schon vor, da ja kein
Betriebssystem drauf ist und die CF-Karte nicht partitioniert ist, ich
habe es aber nicht in der Spec gefunden.

Viele Grüße,

Ralf

von Florian Pfanner (Gast)


Lesenswert?

Das stimmt schon so. Der erste teil wäre der BOOT-Block der Partition.
d.h. Das BIOS lädt dieses Programm und führt es dann aus. Dieses
Programm schaut dann die Partitionstabelle an und bootet dann. Wenn
aber keine Partitionstabelle vorhanden ist, wird der Fehlerstring
ausgegeben. Schau mal unter http://www.master-boot-record.de/ dort ist
das ganze ein bischen erklärt.

Gruß, Florian

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.