Forum: Mikrocontroller und Digitale Elektronik SDCARD verstehen


von Franko P. (sgssn)


Lesenswert?

Hallo
habs geschafft, und kann mit meinem PIC eine 2GB SD-Karte lesen. Wenn 
ich ab Adresse 0 lese, bekomme ich allerdings durchaus andere Werte, als 
wenn ich die SDKarte mit HXD lese. Da steht ab Adresse 0 wohl der MBR. 
Also zwischen dem Startzeichen "0xfe", mit dem die Datenübertragung von 
der SDKarte beginnt, bis zum Endezeichen 0x55 0xaa stimmt nix ausser dem 
Endezeichen mit dem von HXD überein. Im Gedächtnis habe ich irgendwas, 
dass da aber ein Verweis oä auf den Beginn der Daten stehen sollte? Wer 
hat da ne Literatur? Unter "MBR" und "Bootsektor" habe ich mit Kugeln 
nix gefunden, womit ich mit meinen DAten von SDarte mit dem PIC was 
anfangen könnte?!
Die SDKarte ist unter Win10 formatiert.

Danke und Gruß
Gerhard

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Das ist bei elmchans fatFs recht gut erklärt:
http://elm-chan.org/docs/fat_e.html

Das kannste dann auch gleich nutzen:
http://elm-chan.org/fsw/ff/00index_e.html

von Franko P. (sgssn)


Lesenswert?

Tja, nur das Meisste ist hier 0:

00: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0
 30:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0
 60:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0
 90:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0
 c0:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0
 f0:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0
 120:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0
 150:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0
 180:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0
 1b0:0 0 0 0 0 0 0 0 e7 b0 6 4 0 0 0 2 a 0 c fe 3f ef 87 0 0 0 39 e0 3a 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 1e0:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 aa

Gruß
Gerhard

von fchk (Gast)


Lesenswert?

Ist ja auch ok. Die ersten 440 Bytes sind für den Bootloader-Code. Der 
ist optional, wenn kein Betriebssystem drauf ist.

Die eigentliche Partitionstabelle beginnt ab Offset 446 und enthält 4 
Einträge zu je 16 Bytes.

Lies das:
https://de.wikipedia.org/wiki/Master_Boot_Record

fchk

von Franko P. (sgssn)


Lesenswert?

@fchk: Danke. Kommt der Sache schon näher. Allerdings passt der Offset 
noch nicht ganz. Aber das schau ich mir noch an.

Gruß

Gerhard

von Adam P. (adamap)


Lesenswert?


: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

Franko P. schrieb:
> Wenn
> ich ab Adresse 0 lese, bekomme ich allerdings durchaus andere Werte, als
> wenn ich die SDKarte mit HXD lese.

Das ist Windoof, das zeigt die als "Laufwerk" nur die Partition, aber 
nicht die Partitionstabelle an. Und ja, SD Karte hat 'ne 
Partitionstabelle.

Mit Admin Rechten kann man das Physische Laufwerk öffenen, das hätte 
dann identischen Inhalt wenn man die Hex Werte vergleicht.

Nitpick: Man sollte SD Karten immer mit dem Formatter von SDcard.org 
formatieren und nie mit dem Windows Tool, denn der Formatter pass das 
Dateisystem besser an die Innereien der Karte an.

Beitrag #6820757 wurde von einem Moderator gelöscht.
von Franko P. (sgssn)


Lesenswert?

Ah super, docplayer... ist gut, so genau habe ich das noch nicht 
gefunden.
Im Moment irre ich noch auf der SD-Karte rum. So "linear" betrachtet ist 
das total unübersichtlich... Vor allem verstehe ich nicht, wieso da 
schon so viel drauf steht, und das obwohl das Ding nur formatiert ist...

Danke
Gruß
Gerhard

von Adam P. (adamap)


Lesenswert?

Franko P. schrieb:
> obwohl das Ding nur formatiert ist...

Na genau darum geht es doch bei der "Formatierung".
Irgendwie muss das Betriebssystem doch erkennen, welches Dateisystem 
wird auf deisem Speicher verwendet, wieviele Partitionen sind vorhanden 
usw.

Formatierung heißt ja nicht: "Lösche alle Bytes"

von Stefan F. (Gast)


Lesenswert?

Jim M. schrieb:
> Man sollte SD Karten immer mit dem Formatter von SDcard.org
> formatieren und nie mit dem Windows Tool, denn der Formatter pass das
> Dateisystem besser an die Innereien der Karte an.

Ist Windows immer noch so rückständig?

von dummschwaetzer (Gast)


Lesenswert?

lies die mal mit active@diskeditor
https://www.disk-editor.org/index.html

von PittyJ (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Jim M. schrieb:
>> Man sollte SD Karten immer mit dem Formatter von SDcard.org
>> formatieren und nie mit dem Windows Tool, denn der Formatter pass das
>> Dateisystem besser an die Innereien der Karte an.
>
> Ist Windows immer noch so rückständig?

Wer sollte das verbessern? Bill Gates programmiert doch nicht mehr. Und 
der Rest macht nur noch User Interface Änderungen.

Beitrag #6821060 wurde von einem Moderator gelöscht.
von Franko P. (sgssn)


Lesenswert?

dummschwaetzer schrieb:
> lies die mal mit active@diskeditor
> https://www.disk-editor.org/index.html

hey, nix dummschwaetzer! Das Prog ist absolut Spitze, da wird alles 
angezeigt, was ich schon seit Stunden versuche über den PIC 
rauszukitzeln!!!

Grazie!!
Gerhard

von Adam P. (adamap)


Lesenswert?

Franko P. schrieb:
> Das Prog ist absolut Spitze, da wird alles
> angezeigt, was ich schon seit Stunden versuche über den PIC
> rauszukitzeln!!!

Welche Angaben meinst du?
Soviel steht da doch gar nicht.

von Franko P. (sgssn)


Lesenswert?

Doch, da werden bestimmte Angaben optisch gekennzeichnet und am Rand 
nochmal dokumentiert.
Und dann zusammen mit dem hier:

http://ugweb.cs.ualberta.ca/~c274/resources/hardware/SDcards/SDCardMap.pdf

wird dann die Sache klarer...
Und ausserdem fängt HXD beim Boot Sektor an, un der steht nicht auf 
Adresse 0. Sondern da steht, wie es auch der active@diskeditor tut, das 
was ich mit dem PIC lese, und das ist der MBR. Und die Doku un der 
Editor erleichtern mir zu verstehen, wie das aufgebaut ist.


Gerhard

: Bearbeitet durch User
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.