SD-Karte Partitions/Filesystem error

Gast #1413784
Lesenswert?

Hallo!

Ich habe folgendes Problem! Ich benutze eine Kingston 2 GB SD 
Speicherkarte und versuche diese auf dem Webmodul nach Ulrich Radig ans 
laufen zu kriegen. Hierzu verwende ich die Bibliothek nach Roland 
Riegel.
Das Initialisieren der Karte mit der Funktion f16_init(); klappt auch 
schon.
Allerdings bekomme ich in der Funktion f16_check(); die Fehlermeldung 
"SD-Karte opening filesystem fail". Allerdings habe ich die Karte schon 
mit verschiedenen Betriebssystemen auf Fat 16 Formatiert 
(win2k,XP-Eingabeaufforderung,ubuntu-commandline) Leider unterstützten 
Partition Magic und GPartet irgendwie keine SD Karten. Meine Frage nun 
so oft wie ich die Karte Formatiert habe, könnte es sich um einen 
anderen Fehler handeln oder hat schon mal jemand nen ähnlichen Fehler 
gehabt?


Bei einem 2 Versuch habe ich dann auch versucht mit folgendem Quellcode 
die Karte anzusprechen:



f16_init();

struct partition_struct* partition;
partition = 
partition_open(sd_raw_read,sd_raw_read_interval,sd_raw_write,sd_raw_writ 
e_interval,0);
if(partition==0)
{
  ausgabe("partition leer");
}

Hier gibt mir das Modul "partition leer" aus was ja darauf führen kann 
das schon die ganze Partition nicht erkannt wurde und nicht nur das 
Dateisystem nicht.
Habe mich schon durch mehrere Forenbeiträge gelesen doch nichts konnte 
mir wirklich helfen.

Bin für jede Hilfe Dankbar

Grüße
Alex
Gast #1413908
Lesenswert?

> Formatier das Teil mal in ner Digicam. PC-Formatierungen haben bei mir
> auch nie funktioniert.

Wobei das nicht immer funktionieren muß, da einige Digicams ein völlig 
eigenes Dateiformat verwenden.

Panasonic stellt für seine eigenen SD-Karten ein Formatierungsprogramm 
für Windows zur Verfügung. Es funktioniert aber auch mit Karten anderer 
Hersteller.
http://panasonic.jp/support/global/cs/sd/download/sd_formatter.html
Gast #1413949
Lesenswert?

Danke schon mal für die hilfe.
Ich habe die SD Karte mit einer Digicam formatiert und jetzt hängt sich 
das Programm in der init auf. Ich muss morgen mal schauen woran es 
liegt.
Denke das es was anderes ist (der ATmega den ich verwende ist 80 % voll 
vielleicht liegt es daran (werde denn mal entschlacken müssen)

Danke
Alex
Gast #1414843
Lesenswert?

Hallo nochmal
leider ging es nach selbst nach Fehlerüberprüfung immer noch nicht.
Das Modul hängt sich sogar jetzt schon früher auf.

In der schleife

for(uint16_t i = 0; ; ++i)
 {
      response = sd_raw_send_command_r1(55, 0);  // APP_CMD
      response = sd_raw_send_command_r1(41, 0);

      itoa(response,zwischenspeicher,10);
      ausgabe(zwischenspeicher);

      if(!(response & (1 << R1_IDLE_STATE)))
      {
            break;
       }
       if(i == 0x7fff)
       {
            unselect_card();
            spi_rec_byte();
            spi_high_frequency();
            return 0;
        }
}

hängt sich das Modul immer auf und ich weiß nicht wieso (habe es mit 
einer vom PC formatiereten Karte getestet und mit einer von einer 
Digicam formatierten Karte. Manchmal geht er hierduch aber sehr oft 
bleibt er hier hängen. Die ausgabe hierbei ist immer 1. In die if 
abfragen geht er gar nicht. In meinem Programm ist derzeit nur die Usart 
und das Bearbeiten der SD Karte. Noch irgendjemand eine idee warum er 
durch diese Schleife nicht durchkommt? Ich sehe hier eigentlich keinen 
Bufferüberlauf oder so.

Grüße
Alex

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren