Hallo zusammen Ich steuere eine SD Karte (<2 GB) über die SPI Schnittstelle meines MSP430 an - das funktioniert soweit auch wunderbar. Nun möchte ich ein FAT16 darauf implementieren und verwende dazu MikroFat16 (http://www.mikro-control.de/). - Die Initialisierung funktioniert - Lesen/Schreiben funktioniert grundsätzlich. ich habe nun das Problem, dass mir das Filesystem offenbar nicht an die richtigen Adressen schreibt, denn die erstellten Files sind nicht erkennbar unter Windows XP. Wenn ich mir das ganze mit dem Hex Editor anschaue sehe ich, dass die Daten geschrieben wurden! Einfach nicht an der richtigen Adresse. Hat da jemand Erfahrungen gemacht? Ich habe nun mal einfach bei der SD Karte angefangen und versuche zu verstehen, wo genau welche einzelnen Bereiche beginnen. Durch zurückrechnen bin ich auf folgendes gekommen: Datenbereich: 0x480000 Verzeichniseinträge: 0x03C000 FAT-Einträge: 0x01E800 Volume Boot Record: 0x00DA00 MBR: 0x000000 Nun... der MBR ist korrekt. Aber wie kommt man auf den VBR? Wo steht diese Adresse? Im MBR habe ich folgende Werte ausgelesen, mit welchen ich tatsächlich auf die anderen Bereiche komme: Anzahl Reservierte Sektoren: 0x87 Anzahl Sektoren pro FAT: 0xEC00 Anzahl FAT kopien: 2 Vielen Dank im voraus Marco
FAT16 kann maximal* 2 GiB adressieren (maximale Clustergröße 32 kiB). Wenn Du versuchst, die Karte mit mehrern Partitionen zu betrieben, schlägt dies fehlt, weil Windows keine Wechseldatenträger mit mehreren Partitionen akzeptiert. *) die Variante mit 64 kiB-Clustern ist nicht spezifikationskonform, auch wenn sie von den ernstgemeinten Windows-Versionen ausnahmsweise unterstützt wird
da ist mir ein Fehler unterlaufen, meine SD Karte ist natürlich kleiner wie 2GB. Ich verwende 1 Partition mit 32k clustern. Sorry!
Mach doch einfach mal eine Gegenprobe: erstelle mit Windows eine Fat 16 und vergleiche oder lese diese dort wieder ein als Muster. Es ist nicht ungewöhnlich, daß man Original-Dateisysteme auch mit Origial-SW erstellt. Dann hat man später wenigstes ein bekanntes Dateiformat wo möglichst viele allgemein verfügbare Tools anwendbar sind.
> weil Windows keine Wechseldatenträger mit mehreren Partitionen akzeptiert.
Wenn USB-Sticks auch als Wechseldatenträger gelten, dann scheint mein XP
das nicht zu wissen....
(Das Teil hat 2 Partitionen)
Dann tut das Dein USB-Stick nicht. Auch per USB angeschlossene Festplatten sind keine Wechseldatenträger. CF-Karten aber schon, selbst wenn diese in CF-zu-IDE-Adaptern stecken.
Das hat damit zu tun, wie er formatiert wurde. Stichwort zum googlen: Superfloppy Gruß Roland
Nein, hat es nicht. Die Information, ob es sich um Wechseldatenträger handelt, oder nicht, hängt nicht vom Vorhandensein einer Partitionstabelle ab, sondern ist in den Device-Inquiry-Daten abgespeichert. Mit dem Thema habe ich mich hier Beitrag "Re: SD Karte partitionieren/formatieren Windows" schon mal auseinandergesetzt.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.