MMC uns Sector 1

Gast #163777
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
Gast #163778
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
Gast #163779
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren