Forum: Mikrocontroller und Digitale Elektronik MMC uns Sector 1


von Binnesmann (Gast)


Lesenswert?

Hallo Zusammen,

ich möchte eine MMC über SPI auslesen und Daten mit FAT16 lesen und
schreiben. Ich arbeite mit einem PIC18F452 und programmiere in C.

Nach anfänglichen Problemen kann ich die Karte initialisieren und CID
und CSD einwandfrei auslesen. Status auslesen klappt auch.

Nun lese ich Bölock 0x00 aus (cmd=0x51 + 4 Bytes 0x00 + 1 Byte 0xFF)
und bekomme auch als response ein 0x00 und eine Antwort die 515 Bytes
lang ist. Aus der Antwort werde ich aber nicht schlau, zumal mitten in
der Antwort der Text auftaucht: "Invalid partition tableError loading
operating systemMissing operating system". Ich habe die Karte schon
neu Partitioniert und Formatiert. Auch mit der RSMMC aus meinem Handy
habe ich es probiert. Gleicher Fehler. Interessant ist, wenn ich Block
1, 2 oder 3 auslese, bekomme ich den gleichen Block, nur um 1 Byte
versetzt. Das Blockende endet übrigen mit 0x55, 0xAA.

Hat das schonmal jemand gehabt?

Die Karten sind übrigens von Infinion und SanDisk.

Gruß Binnesmann

von Olaf (Gast)


Lesenswert?

Ja nun, du willst den Bootblock auslesen und hast den Bootblock
bekommen.

Das er bei dir aber 515Byte gross ist und du ausserdem den Bootblock
in jedem Sector findest zeigt aber das bei dir noch einige im argen
liegt.

Olaf

von Binnesmann (Gast)


Lesenswert?

Hallo Olaf,

515 Byte sind nicht weiter verwunderlich, wie es ja im Datenblatt
steht:

1st Byte Start Block 0xFE
2nd-513th Byte Data
Last Two CRC

und alles logisch.

Was ich noch vergaß, ich habe mit Diskedit den ersten Block ausgelesen
und der ist vollkommen anders als der den ich auslese.

Ich hab nur ein Prgob mit der MMC, mit einer CF funzt das finden der
Daten und der FAT.

Gruß Binnesmann

von Netbandit (Gast)


Lesenswert?

naja das sind für mich aber 514byte und nicht 515byte ;)
Somit hätten wir das Problem der 1 byte verschiebung von Block zu Block
geklärt :)

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.