Forum: Mikrocontroller und Digitale Elektronik Probleme mit SD und FatFs


von Felix F. (wiesel8)


Lesenswert?

Hallo,

ich versuche gerade eine SD Karte am STM32 über SPI zum laufen zu 
bringen. Das hat prinzipiell auch funktioniert, habe aber jetzt ganz 
komische Probleme...

1. Ich habe mir zum testen eine 2GB Platinum SD gekauft. Als die 
Initialisierung etc. korrekt funktionierte, habe ich den den Sektor 0 
(MBR) "Müll" geschrieben. Nach dem einstecken am PC, kam dann auch 
prompt die Meldung, dass die Karte erst formatiert werden muss. Hier war 
nun das erste "Problem": Es ist jetzt eine   4GB   Karte??? Ich konnte 
auch tatsächlich testweise 3GB+ drauf kopieren??

2. Die Karte wird (am STM32) korrekt initialisiert und ich kann sie 
mounten + eine Datei schreiben und diese Datei dann auch wieder korrekt 
auslesen.
Steck ich die Karte in den PC, ist sie leer?? Am PC erzeugte Dateien 
werden wiederum nicht vom STM gefunden...

Formatiert habe ich die Karte mit FAT und FAT32 mit 32 o. 64KB 
zuordnungseinheiten (mehr Auswahl bietet Win nicht)

Jetzt bin ich mit meinem Latein echt am Ende... Irgendwie funktioniert 
es, aber irgendwie dann doch nicht so wirklich...
Muss, wenn verfügbar, dann mal eine andere SD testen.

mfg

: Bearbeitet durch User
von 123 (Gast)


Lesenswert?

Ggf auf eine fake Karte erwischt?
Karte als 2gb gelabelt mit 2gb (oder weniger) flash aber falsch als 4gb 
konfiguriert?

Hast du Zugriff auf Linux? Direkt mounten und über ein Script / prog 
alle Sektoren fortlaufend, sich nicht wiederholen durchnummeriert und 
dann gehen lesen. Dann sollte man frststellen ob da was im Argen ist.

Kann dein sd Card Driver mit den hc Karten umgehen? Hier ändert sich die 
Art der Adressierung. Adresse / sektor

von Felix F. (wiesel8)


Lesenswert?

123 schrieb:
> Ggf auf eine fake Karte erwischt?
> Karte als 2gb gelabelt mit 2gb (oder weniger) flash aber falsch als 4gb
> konfiguriert?

Die Karte wurde am Anfang auch ganz normal als 2GB erkannt, erst nachdem 
ich in den MBR geschrieben habe, war sie 4GB

> Hast du Zugriff auf Linux? Direkt mounten und über ein Script / prog
> alle Sektoren fortlaufend, sich nicht wiederholen durchnummeriert und
> dann gehen lesen. Dann sollte man frststellen ob da was im Argen ist.

Ein Live System könnte ich booten.

> Kann dein sd Card Driver mit den hc Karten umgehen? Hier ändert sich die
> Art der Adressierung. Adresse / sektor

Das werde ich mal überprüfen. Hätte ja eigentlich extra eine 2GB Karte 
gekauft, um HC,XC etc zu vermeiden.

mfg

von Dr. Sommer (Gast)


Lesenswert?

Felix F. schrieb:
> Hätte ja eigentlich extra eine 2GB Karte gekauft, um HC,XC etc zu
> vermeiden.

Extra um es dir kompliziert zu machen? SDHC Karten sind eigentlich am 
einfachsten. Bei SDSC (also <= 2GB) muss man mit unterschiedlichen Block 
Größen rum hantieren, Sonderfällen bei 2 GB Karten usw. Bei SDXC muss 
man exFAT implementieren (semi geheim). Daher ist SDHC mit FAT32 und 
konstanter Block Größe von 512B am simpelsten.

Windows ist vermutlich von deinem vermüllten MBR verwirrt. Formatiere 
einfach mal mit dem Tool von sdcard.org neu (SD Karten nie mit den 
Windows/Linux eigenen Tools formatieren).

von Felix F. (wiesel8)


Lesenswert?

Es ist tatsächlich eine SDHC Karte. Mit der entsprechenden 
Blockadressierung scheint es jetzt korrekt zu funktionieren!

mfg

von holger (Gast)


Lesenswert?

>Es ist tatsächlich eine SDHC Karte.

Kaum, SDHC fangen bei 4GB an.

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.