|
c't Projekte - c't-Bot und c't-Sim -
Mailinglisten
[Voriger (Datum)]
[Nächster (Datum)]
[Voriger (Thread)]
[Nächster (Thread)]
[Nach Datum][Nach Thread]
Absender: Timo Sandmann
Datum: Mo, 15.09.2008 16:09:02
In-reply-to:
<000001c91695$89998e50$0200a8c0@mexpnew>
References:
<000001c91695$89998e50$0200a8c0@mexpnew>
Hi,
Am 14.09.2008 um 20:12 schrieb Frank Menzel:
Habe damit nun 8 Karten getestet und die eine, die die geringste
Write-Zeit hatte (Werte waren 931/ 3731 - die anderen hatten beim
Write
fast das Doppelte) ausgesucht.
OK, was sagt uns das nun? Das Lesen von 512 Byte dauert knapp 1 ms, da
ist schon recht nah am Limit auf einem ATmega mit 16 MHz. Das
Schreiben derselben Datenmenge ist allerdings nicht so
rekordverdächtig, die Datenübertragung dauert hier logischerweise
genauso lang wie beim Lesen, d.h. nach dem eigentlichen Schreiben der
Daten zur Karte (1 ms) muss der Prozessor noch weitere 2,8 ms warten,
bis die Karte sagt "bin fertig".
Falls Interesse besteht: Es gab mal einen sehr interessanten ct-
Artikel zu Flashspeicher(-Karten), in dem ausführlich erklärt ist,
warum das Schreiben anders abläuft als das Lesen. Ich weiß jetzt
allerdings nicht mehr genau, in welchem Heft der war.
Diese frisch mit Fat16 formatiert und die
Map raufgespielt. Dann alles neu compiliert und Map wieder an- und
MMC-Test wieder ausgeschaltet. Während die Map wunderbat ohne Probleme
geschrieben wird beim rumfahren (bin ja nun im SPI Mode), ist das
Map_Delete so wie vorher. Es bricht nach wenigen Sekunden ab ohne
irgendwelche Fehler.
Was kann man nun noch tun ?
Ich baue gleich mal eine Fehlerausgabe in die Mini-FAT-Löschfunktion
ein, dann kannst du schauen, warum / mit welchem Fehler das Löschen
abgebrochen wird.
Woran kann dies nun liegen, dass das Delete
einfach nicht klappen will ?
Da habe ich eine Vermutung, am besten berichtest du aber erstmal, was
die neue Löschfunktion für einen Fehler ausgibt, dann wird die Sache
vermutlich schon klarer.
Grüße,
Timo
|
|