Forum: Mikrocontroller und Digitale Elektronik AVR SD-Karte


von Peter (Gast)


Lesenswert?

Hallo,
ich habe an einem mega eine SD-Karte angeschlossen und mit der lib hier 
von der Seite auch zum laufen gebracht. Das lesen klappt mit drei 
verschiedenen Karten auch wunderbar. Aber wenn ich auf die Karte 
schreibe, so kann ich zwar mit einer Karte die Daten weiterhin am xmega 
sehen, aber mit den andern beiden karten nicht. Am PC sehe ich aber, 
dass auf allen drei Karten die Daten geschrieben wurden.
Habe mir deshalb einmal die Eigenschaften der Karten angesehen. die 
funktionierende Karte hat den einzigen unterschied zu den anderen, dass 
bei "First physical Sector" 1 eingetragen ist, bei den anderen 8132. Da 
das der einzige unterschied ist, denke ich, dass das Problem hier liegt. 
Nur wie kann ich den Sector ändern? Habe zwar ein Partitionierprogramm 
für die SD-Karten, jedoch kann man den Sector nicht ändern.
Kann mir da jemand helfen?

von c-hater (Gast)


Lesenswert?

Peter schrieb:

> Habe mir deshalb einmal die Eigenschaften der Karten angesehen.

Welche "Eigenschaften". Also: Womit genau angesehen?

> die
> funktionierende Karte hat den einzigen unterschied zu den anderen, dass
> bei "First physical Sector" 1 eingetragen ist, bei den anderen 8132.

Vermutlich ist die eine (die "funktionierende") Karte als Superfloppy 
formatiert, die anderen hingegen haben eine HD-Struktur. Was wiederum 
die Vermutung zuläßt, daß du die (nicht genauere spezifizierte) 
"SD-Bibliothek" nicht richtig benutzt. Wenn HD-Struktur, kann es nämlich 
mehrere Partitionen darin geben. Es sollte also gegenüber dem 
Supperfloppy-Format ein zusätzlicher Schritt beim Programmieren nötig 
sein: die Wahl der gewünschten Partition...

OMG, gibt es denn überhaupt noch richtige Programmierer oder nur noch 
Leute, du unverstandenen Code fremder Leute zusammenkleistern?

von Peter (Gast)


Lesenswert?

Hallo,
danke für die Antwort. Ich verwende die Bibliothek von Daniel R. hier 
von der Seite. Der Rest selber programmiert ;)

Bei der funktionierenden Karte steht nur FAT16, mehr kann ich da nicht 
wirklich herauslesen bzw einstellen. Welches Programm zum Formatieren 
und einstellen von Superfloppy wäre denn zu empfehlen, damit ich das 
einmal testen kann.

von Georg G. (df2au)


Lesenswert?

Lies mal hier
http://woshub.com/removable-usb-flash-drive-as-local-disk-in-windows-7/
etwas über die Grundlagen. Links auf Werkzeuge sind auch dabei.

von Peter (Gast)


Lesenswert?

Leider bin ich mir nach wie vor nicht sicher ob es wirklich an diesem 
Superfloppy Format liegt. der Link macht nicht da leider auch nicht zu 
schlau.

von Seal (Gast)


Lesenswert?

Peter schrieb:
> Leider bin ich mir nach wie vor nicht sicher ob es wirklich an diesem
> Superfloppy Format liegt. der Link macht nicht da leider auch nicht zu
> schlau.

Wie arbeitet dein Programm? Welche Sektoren der SD-Card werden beim 
'mount' der Karte gelesen?

von Manfred (Gast)


Lesenswert?

Peter schrieb:
> Bei der funktionierenden Karte steht nur FAT16, mehr kann ich da nicht
> wirklich herauslesen bzw einstellen.

Plätte mal Deine Karten und formatiere sie: 
https://www.sdcard.org/downloads/formatter_4/

von Seal (Gast)


Lesenswert?

Deine beide Stichworte sind MBR & VBR.

https://de.wikipedia.org/wiki/Master_Boot_Record
https://de.wikipedia.org/wiki/Volume_Boot_Record

Danach kann man unterscheiden, ob alle Infos der FAT in Sektor 0 stehen 
oder, ob in Sektor 0 auf eine Partition verwiesen wird.

Alle SD-Card bis 1 GByte, die ich verwendet habe, hielten sich daran.

Ein Tool, mit dem du deine SD-Cards untersuchen kannst, ist winhex. 
Dieses Tool solltest du dir auf jeden Fall aus dem INet ziehen.

von Peter (Gast)


Lesenswert?

Danke für die Antworten.
Welche Sektoren wann durchsucht werden, kann ich nicht sagen, da ich die 
fertige Bibliothek verwende und nur den Hardwareteil angepasst habe.

Werde die Schritte mit dem Formatieren nochmal versuchen um die neuen 
karten auch von Sektor 1 starten zu lassen. Ich hoffe das löst das 
Problem.

Trotzdem wundert es mich, dass ich die Karte die ich mit dem PC 
beschreibe beim ersten mal richtig am AVR auslesen kann, erst wenn ich 
die Karte mit dem AVR beschreibe, findet dieser nichts mehr auf der 
Karte. Der Pc zeigt mir jedoch die gerade geschriebenen Daten an :S

von Seal (Gast)


Lesenswert?

Peter schrieb:

> Trotzdem wundert es mich, dass ich die Karte die ich mit dem PC
> beschreibe beim ersten mal richtig am AVR auslesen kann, erst wenn ich
> die Karte mit dem AVR beschreibe, findet dieser nichts mehr auf der
> Karte. Der Pc zeigt mir jedoch die gerade geschriebenen Daten an :S

Prüfe deine SD-Cards mit CHKDSK LW:

LW: steh für den Laufwerksbuchstaben (z. B. F:).

von Peter (Gast)


Lesenswert?

Damit müsste ich dann auf jedenfalls den Formatierungstyp der laufenden 
SD-Karte herausfinden?

von Peter (Gast)


Lesenswert?

Hm hab die Karten nun geprüft und bekomme keine Fehler zurück. Nach wie 
vor einziger Unterschied der "First physical Sector". Mit welchem tool 
kann ich das ändern? Mit dem Formatierungsprogramm von SDCard.org klappt 
das auch nicht?

von Georg G. (df2au)


Lesenswert?

Peter schrieb:
> Mit welchem tool

Hast du den von mir zitierten Beitrag nicht gelesen? Da wird weiter 
unten jeweils für Windows64 und Windows32 Schritt für Schritt erklärt, 
wie man den notwendigen Filtertreiber installiert und auch wieder los 
wird.

Die Unterschiede zwischen den Karten sollte dir die Datenträger 
Verwaltung im Registerblatt "Volumes" sofort zeigen (keine Gewähr für 
die Namen, kenne dein Windows nicht).

Solange du den Typ der Karte nicht änderst, bewirkt ein Neuformatieren 
nichts. Es wird nur die bestehende Formatierung erneuert.

Mit einem Diskeditor könntest du alternativ den ersten Sektor und damit 
die Info "dies ist eine Festplatt" löschen und dann neu formatieren 
(Floppy Format ist dann Standard). Aber ich fürchte, das übersteigt noch 
deine Kenntnisse.

: 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.