www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit MicroSD Karte


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mal wieder Probleme bei einer Anwendung mit einer MicroSD 
Karte.
Ich schreibe Messwerte via ARM7 und SPI linear auf die MicroSD Karte. 
Wir verwenden Karten von SanDisk. Mit der ersten Charge hat das 
problemlos funktioniert. Jetzt wurden neue Karten vom selben Hersteller 
gekauft und keine von denen funktioniert.

Seltsam ist, dass wenn ich die Messwerte auf der MicroSD Karte mit dem 
ARM7 auslese, sind diese erkennbar.
Also ungefähr so:

disk_write(buffer, sector,...)

Spannungsreset

disk_read(buffer, sector, ...)

Nur am PC kann ich diese Daten nicht lesen. Ich verstehe das nicht. Lese 
ich den Sektor (z.B. 100) mit dem µC sehe ich die Daten aber lese ich 
den Sektor(z.B. 100) am PC, erkenne ich diese nicht.

Habt ihr eine Idee? Ich bin echt ratlos.

Danke
Martin

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vieleicht hast du am PC nen Offset drin.
Möglicherweise liest du nicht Sektor 100 sondern
Sektor 100 der Partition + Offset zum MBR.

Womit liest du am PC den Sektor ?

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist ein freies Tool und nennt sich DiskView.
Aber auch wenn ich es selbst auslese, z.B. mit Python, erkenne ich an 
dem Sektor keine Messdaten.

Völlig strange

Autor: w124Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Martin

ließ mal einen sektor vorher oder nachher noch aus, ob da deine daten 
stehen. falls ja hast du den besagten offset vom mbr drin bzw nicht drin


gruß Dennis

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das habe ich schon probiert, kann aber keine Daten finden.
Wie groß ist denn eigentlich der Offset vom MBR?

Danke

Autor: w124Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
512byte

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie schon gesagt, keine Daten da.
Noch jemand eine andere Idee?

Autor: Rudi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einfach nur versuchen: beginnend ab Sektor 0 lesen bis ein Sektor mit 
Daten kommt.

Autor: Malte Zacharias (saeckereier)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir fällt der Begriff gerade nicht mehr ein, aber ich meine bei PC und 
RISC werden die Daten doch andersrum gepseichert, sprich die Reihenfolge 
der Bytes in nem Wort ist andersrum oder so ähnlich. Leider kann ich 
mich gerade nicht mehr erinnern, aber könnte es das nicht sein?

Autor: Malte Zacharias (saeckereier)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Evtl. probiere mal einfach ein Bitmuster (010101010101010101010101) zu 
schreiben und zu finden oder auch einfach alles mit 0 überschreiben und 
dann ein zwei Bytes 11111111 schreiben, die sollten dann ja wirklich zu 
finden sein.

Autor: günny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Besorg Dir mal den "Hex Workshop", Version 4.2 z.B.
Dann die Speicherkarte als physikalisches Laufwerk öffnen und nach 
einer charakteristischen Messwertfolge suchen. Wenn auf der Karte etwas 
gespeichert ist, dann findest Du es mit dem Hex Workshop definitiv.

Autor: günny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Malte Zacharias:
Das würde aber nicht erklären, warum es mit der vorherigen Charge 
microSDs funktioniert hat, oder? ;-)

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe bei den neuen Karten einen statischen negativen Offset von 249 
Sektoren. Also, schreibe ich MCU seitig an Sektor 1000 finde ich diesen 
beim Lesen am PC auf der Sektorposition 751. Das verstehe wer will. Ich 
jedenfalls nicht. Schaue mir noch einmal die Firmawre an, ob das 
rational zu erklären ist.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Schaue mir noch einmal die Firmawre an, ob das rational zu erklären ist.

Vermutlich ist eine Karte partioniert und die andere eine Superfloppy.

Olaf

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Olaf,

kannst du mal ein paar mehr Details geben. Wie kann ich das feststellen 
und wie eleminieren?

Danke

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.