www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem SD Karte Sektor 0


Autor: Andreas K. (ergoproxy)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ich hab mir heute eine neue SD-HC 4GB Karte von SanDisk gekauft 
und dann auch gleich mal in den Cardreader geschoben:

1. Windows erkannte die Karte mit richtiger Größe und als unformatiert.
   Auch im Hex editor war eigendlich gähnende Leere. Deshalb hab ich die 
Karte mit der Standartformatierungssoftware von Windows mit Fat32 
erfolgreich formatiert.

2.  Nun ist die Karte les- und schreibbar. D.h. ich hab n Video von 
800mb drauf und dann mal geschaut ob ich es öffnen kann ( ps 40 sec 
übertragungszeit ^^ ). Ergebniss alles ok.

Nun das Problem:

Sektor 0 ist nicht da wo er sein sollte. Ich hab ihn nach etwas suchen 
unter Sektor 8198 gefunden. Dieser sieht aus wie der Sektor 0 aussehen 
sollte. Sektor 0 ( der Physikalische ) entält nur eine kleine Reihe von 
Daten am Ende.

Ich hab als Anhang Beide Sektoren als Screenshot des Hexviewers. tut mir 
leid wegen der Größe aber kleiner war unlesbar oder aber ich hätte es 
total Zerschneiden müssen und dann ist die übersicht auch weg.

Es wäre Super wenn mir jemand erklären könnte warum sich Sektor 0 so 
weit ab vom physikalischen Sektor 0 befindet und wie man herausbekommt 
(ohne wie ich die Karte abzusuchen) wo er sich befindet.

Vielen Dank für jede Hilfe. Gruß ErgoProxy

Autor: Andreas K. (ergoproxy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat hier wirklich niemand eine Idee ? Ich bin langsam am verzweifeln. 
Keins meiner Datenblätter sagt das dieser Sektor dort liegen sollte. 
Außerdem hab ich nochmal den "Sektor 0" in Sektor 8192 gefunden.

Autor: Hmm... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was erwartest du denn in Sektor 0? Einen MBR? Es kann sein das der unter 
Windows unterschlagen wird.

Autor: Andreas K. (ergoproxy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja eigendlich erwarte ich schon unter Sektor 0 den MBR. In allen 
Tutorials und was ich über SD Karten gelesen hab sollte der da sein. Und 
was hat Windows für einen Einfluss auf einen HexEditor ? Ich kann mir 
grade nur nicht vorstellen das die Karte die ich da sehe verändert sein 
soll. Wie bekomm ich den eine 1:1 Darstellung einer Karte vom Ersten bis 
zum letzten Sektor ? Wenn ich das irgendwann in einem AVR auslesen will, 
dann würde ich doch gerne wissen wie der MBR dieser Karte aussieht.
Natürlich soll später mehr als eine Karte funktionieren, aber dennoch 
müsste doch jede in Sektor 0 einen MBR haben oder versteh ich den Aufbau 
da irgendwie falsch ?

Vielen Dank für deine Hilfe und ich hoffe irgendjemand kann mir noch die 
Unklarheiten erklären.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas K. wrote:
> Ja eigendlich erwarte ich schon unter Sektor 0 den MBR. In allen
> Tutorials und was ich über SD Karten gelesen hab sollte der da sein. Und
> was hat Windows für einen Einfluss auf einen HexEditor ?

Er meinte wohl nicht beim Anzeigen, sondern eher beim Formatieren. Wenn 
ich deine Angaben mit den Wikipedia Infos vergleiche, dann sehe ich 
einen MBR, inkl. Partitionstabelle, nur ohne Boot-Loader, der bei einer 
SD Karte auch wenig Sinn macht.
http://de.wikipedia.org/wiki/Master_Boot_Record

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was willst Du denn? An Adresse 454 und 455 steht der Startsektor für 
Deine Partition 0020, wenn Du´s umdrehst (Little Endian) erhältst Du 
2000, was exakt 8192 entspricht.

http://de.wikipedia.org/wiki/Master_Boot_Record

Autor: Andre Z. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau! am Physikalischen Sektor 0 ist der MBR (erkennbar am 55 AA am 
Ende) mit Partitionstabelle.
http://de.wikipedia.org/wiki/Partitionstabelle bzw. 
http://de.wikipedia.org/wiki/Bootsektor
Dort steht, bei welchem physikalischen Sektor Deine (einzige) Partition 
beginnt. Dort steht dann der Bootsektor der Partition, so wie man ihn 
erwartet...

Autor: Andreas K. (ergoproxy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DANKE ^^ Ich hab meinen Fehler gefunden. Ich hab irgendwie das Aussehn 
des MBR mit dem ersten Teil des FAT32 Dateisystems verwechselt. Der 
wurde im FAT32 Artikel hier im Forum als Sektor 0 Bezeichnet und ich hab 
das irgendwie dann verwechselt. Vielen Dank nochmal. Ach eine Frage 
nochmal:

Welchen Sinn hat Little Endian ? Ich weiß das es da ist und Ich weiß 
auch wie man es liest aber hat das irgend nen Vorteil dem normalen Lesen 
gegenüber ? Also von Anfang zum Ende hin oder hat sich das nur 
durchgesetzt weil die mächtigeren Firmen dahinter standen ?

Autor: Termite (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin

es gibt beides sowol littel als auch big endien, sowie noch lustige 
kobinationen von beiden. (bei 32 bit oder 64bit werten die das dann in 
16Bit/32bit worte zerlegen anstelle von 8 bit Worte)

teiweise ist das historisch. intel hatte  hatt sein format  motorola 
ein anderes. Vieleicht auch nur deswegen um etwas anders zu machen als 
die anderen. Kompatibilität, Patente, der konkurenz nachweisen, das sie 
kopiert, ... Aber einmal auf dem Pfad ist ohne bruch in der abwärtz 
kompatibilität fast kein umschwenken mehr möglich

normalerweise hat das einen nur dann zu interessieren, wenn man 
varialben im speicher abbild mit einem Hex editor anschaut, da ist ja 
default auf 8 bit Darstellung. oder diese versucht diese in eine Datei 
zu speichern. da muss man dann schon aufpassen, was macht meine cpu, und 
wie ist das in der datei abgelegt.

Autor: Andreas K. (ergoproxy)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So vielen Dank erst nochmal für die Hilfe. Ich bin jetzt schon fast 
durch mit dem Verständniss des MBR. Allerdings habe ich noch ein Problem 
und zwar in der Partitionstabelle:

Im Anhang ist ein Ausschnitt des MBR also die Partitionstabelle. 
Markiert sind dort der Reinfolge nach:


gelb = Bootable (00= Nein 80=Ja) Länge: 1 Byte.

hellgrün = CHS-Eintrag des ersten Partitionssektors (Wie Rechnet man 
damit oder ist das unnötig ? Ich käme auf 3 Header, 2 Sektoren und 2 
Zylinder) Länge: 3 Byte.

bräunlich = Partitionstyp (0B = FAT32) Länge: 1 Byte.

dunkelgrün = CHS-Eintrag des letzten Sektors (wieder die Frage brauch 
ich das ?) Länge: 3 Byte.

blau = Startsektor (-> 00 00 20 00 = 8192 ) Länge: 4 Byte.

rosa/pink = Anzahl der Sektoren der Partition ( Hier 00 79 54 00 was 
etwa 3,78 GB entspricht ) Länge : 4 Byte.

Nun grade die Frage wozu sind die CHS-Einträge und was kann man damit 
anfangen oder ignoriert man sie einfach ? Eigendlich ist es ja Unsinn 
bei einem Flashspeicher hier Daten zu haben. Aber warum sind dann da 
Einträge ?

Grüße ErgoProxy

Autor: Peter Roth (gelb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Andreas K. (ergoproxy)

der Umgang mit Cylinder, Head und Sector ist hier 
http://home.teleport.com/~brainy/fat32.htm ganz gut beschrieben.

Grüße, Peter

Autor: Johannes Slotta (johanness)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die CHS-Einträge repräsentierten schon lange vor Einführung von LBA 
nicht mehr die Geometrie der Festplatten, da wurden dann einfach 16, 32, 
64, 128 oder 240 oder 255 Köpfe (was halt passte) eingeführt, den Stapel 
möcht ich sehen ;-)

Bis 8 GB kann man auf diese Weise sogar adressieren. Darüber hinaus 
kannst du das aber vollkommen ignorieren.

Deine Karte wird als 128 Köpfe, 988 Zylinder (die sind geraten), 63 
Sektoren adressiert. Wenn du je Zylinder 128*63 Sektoren und je Kopf 63 
Sektoren rechnest kommst du genau auf die angegebenen Werte.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Nun grade die Frage wozu sind die CHS-Einträge und was kann man damit
>anfangen oder ignoriert man sie einfach ?

Ignoriere sie.

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.