Forum: Mikrocontroller und Digitale Elektronik SD-Karte am PC auslesen


von Thomas (Gast)


Lesenswert?

Hallo,

eine kurze Frage an euch.

Fast alle SD-Karten-Projekte, die ich gefunden habe, basieren auf einem 
Beschreiben der Sektoren/Blöcke über SPI -> also ganz normal.

Wenn man das so macht, ohne ein Dateisystem (z.B. FAT16) zu erzeugen, 
kann man dann den Inhalt der Karte irgendwie am PC auslesen ? Ich meine 
erkennt Windows den Inhalt der Karte ?

Gibt es dafür irgendwelche Programme zum Auslesen ?

Ich frage nur deshalb, weil ich es für ein Projekt brauche.

Wenn das nähmlich nicht geht, dann müsste ich die SD-Karte erstmal FAT16 
formtieren, um direkt Dateien erzeugen zu können. Windows dürfte diese 
dann problemlos erkennen, oder ?
Das wäre ein erheblich höherer Aufwand, als ohne Dateisystem.

MfG
Thomas

von Thomas F. (thomas-hn) Benutzerseite


Lesenswert?

Mit einem Hex-Editor wie zum Beispiel WinHex dürfte das auslesen 
funktionieren.

von Ralf S. (spacedog) Benutzerseite


Lesenswert?

Es gibt da so Leute, welche FAT auf nem Atmel implementiert haben, z. 
B.:

  * http://www.robs-projects.com/filelib.html

Damit kannst du dann SD-Karten so beschreiben, dass du das ganze auf nem 
PC auch wieder wie gewohnt auslesen kannst. Habs aber selber noch nie 
ausprobiert.

von phl (Gast)


Lesenswert?

Kopieren über die Devicedatei also
cp /dev/usbdevice dateiname
So sichert man ja auch images von Festplatten und DVDs. Ist unabhängig 
vom Dateisystem.

Eventuell gehts auch mittels dd.

von Thomas (Gast)


Lesenswert?

Hallo,

ich kann meine SD-Karte mit dem µC auslesen und beschreiben.

Wenn ich aber nun den Inhalt an einem Windows Rechner auslesen will, 
dann kommt immer eine Meldung, dass das Dateisystem unbekannt ist und 
das ich den Datenträger formatieren soll.

Wie habt Ihr das gemeint mit dem Hexeditor ?

Oder soll ich die SD-Karte erst in Windows formatieren ?

Danke !

von Sven P. (Gast)


Lesenswert?

Thomas wrote:
> Oder soll ich die SD-Karte erst in Windows formatieren ?
NEIN, dann macht Windoof sie ja platt.

Unter Windoof ist das absolute Kacke, weil Windoof unbedingt alles 
selbst in die Hand nimmt. Sprich: kein Dateisystem --> "kaputt" --> 
neuformatieren.

Wenn du Zugriff auf ne Linuxkiste hast, mach
1
# dd if=/dev/sd.. of=inhalt_der_karte_als_rohdaten
und fertig. Geht auch mit nem bootbaren Linux (Knoppix und Konsorten).

Für Windoof gabs mal RAWRITE, damals wars nur für Disketten, obs sich 
geändert hat, weiß ich nicht. Les selbst: 
http://www.fdos.org/ripcord/rawrite/

von rotzfrech (Gast)


Lesenswert?

http://mh-nexus.de/hxd/
HxD ist ein Hexeditor und ein Diskeditor. Mit dem geht das. Du kannst 
Laufwerke im Rohformat öffnen, ohne dass das Dateisystem eine Rolle 
spielt.

Man kann unter Windows aber auch direkt drauf zugreifen. Genau weiss ich 
nicht mehr, wie es ging ab so ähnlich:

Um in C aus einer Datei zu lesen gibt es ja die fopen()... und zum lesen 
eine andere Funktion. Ein Zeiger zeigt dabei auf die aktuelle Stelle in 
der Datei. Und wenn man diesen Zeiger/Handle auf 0 setzt, dann liesst 
man direkt das erste Byte des Laufwerkes.

von Sven P. (Gast)


Lesenswert?

rotzfrech wrote:
> Um in C aus einer Datei zu lesen gibt es ja die fopen()... und zum lesen
> eine andere Funktion. Ein Zeiger zeigt dabei auf die aktuelle Stelle in
> der Datei. Und wenn man diesen Zeiger/Handle auf 0 setzt, dann liesst
> man direkt das erste Byte des Laufwerkes.
Was das Handle angeht: Falsch, "0" ist NULL und wird von fopen() 
zurückgeliefert, wenn was schiefgeht (Fehler).
Was den "Zeiger" angeht: Das is kein Zeiger, sondern einfach eine ganze 
Zahl. "0" bedeutet: Erstes Zeichen der Datei.

Unter Linux kann man ohne Weiteres mit "fopen" die Gerätedatei aufmachen 
und Rohdaten lesen -- kein Thema. Nur Windows hat nunmal keine 
Geräte-*Dateien*.

von rotzfrech (Gast)


Lesenswert?

ich sagte ja auch "so ähnlich"

von doing (Gast)


Lesenswert?

Hallo Forum,

weiß zufällig jemand, ob man einen einfachen CardReader "schlachten" 
kann, um daraus den MMC/SD-Karten Slot an einem AVR über SPI zu 
betreiben?
Die Slots kosten neu bei Reichelt zwischen 8€ und 14€. Einfache 
CardReader bekommt man teilweise billiger...

Danke.

von Pete K. (pete77)


Lesenswert?

Bei CSD gibt es die Slots ab 2,99€.

Du kannst natürlich einen Slot auslöten, sollte funktionieren.

von Jadeclaw D. (jadeclaw)


Lesenswert?

@Doing: Geht billiger und einfacher: http://www.it-wns.de/
Hat die Dinger in mehreren Versionen.

Gruß
Jadeclaw.

von doing (Gast)


Lesenswert?

Super, danke.
Hm, ich scheine blind zu sein. Warum steht im Datenblatt keine 
Pinbelegung?

von Kai G. (runtimeterror)


Lesenswert?

Habe letzte Woche einen SMD-SD/MMC-Slot aus einem alten Kartenleser auf 
Lochraster transplantiert, falls es das ist, was du meinst.

von Thomas (Gast)


Lesenswert?

Hallo,

Winhex funktioniert top !
Ich kann ohne Dateisystem die Werte auslesen !

PS:
Im Datenblatt eines SD-Card Connectors steht keine Pinbelegung, da jede 
SD-Karte die selbe hat, also sind auch alle Pads normiert, bis auf CARD 
PRESENT und WRITE PROTECT. Diese werden je nach Hersteller 
unterschiedlich ausgeführt.

Bei Schuricht gibt es exzellente SD-Card Connectors für ca. 1,50€ von 3M 
!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Nur Windows hat nunmal keine Geräte-*Dateien*.

Im Prinzip doch, denn mit der Win32-API-Funktion CreateFile kann man 
sowohl physikalische als auch logische Laufwerke ansprechen; als 
Dateiname ist dann entsprechend

  \\.\PhysicalDrive0

bzw.

  \\.\A:

zu verwenden. Schreib- und Lesezugriffe sollten dann nur noch auf 
Sektorgrenzen (also in 512-Byte-Schritten) ausgerichtet durchgeführt 
werden.

Ob die C-Standard-Funktion fopen diese "speziellen" Dateinamen 
transparent an die darunterliegende Win32-API durchreicht, wird wohl vom 
verwendeten Compiler abhängen.

Details sind in der Dokumentation enthalten
http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx

von T.R. (Gast)


Lesenswert?

Moin,
ich nutze um "low-level" also blockweise auf eine SD zuzugreifen das 
Tool "DiskExplorer for Fat". Probiers doch mal aus!

http://www.runtime.org/

Gruss

von Thomas (Gast)


Lesenswert?

Auch ein sehr gutes Tool !

Danke dir !

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.