mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MMC uns Sector 1


Autor: Binnesmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Binnesmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Netbandit (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.