|
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: Mi, 17.09.2008 11:23:02
In-reply-to:
<000001c9182b$69bf87f0$0400a8c0@mexpnew>
References:
<000001c9182b$69bf87f0$0400a8c0@mexpnew>
Hallo Frank,
Am 16.09.2008 um 20:38 schrieb Frank Menzel:
Hallo Timo,
ja, aktuelle Version funktioniert bei mir immer noch.
Aber das Löschen dauert eben genau 39 Sekunden bei mir.
ok gut, danke. Ja das passt ja auch zu den Ergebnissen aus dem MMC-Test.
Du hattest mal geschrieben: "Löschen der Map mit
Hardware-SPI dauert dann 7 Sekunden und mit Software-SPI 16 Sekunden.
Das ist bei einer 512 MB großen MMCmobile und einer 1 GB großen SD-
Karte ziemlich gleich."
Was hast denn Du für eine Wahnsinns-Schnelle Karte, wenn diese nur 7
Sekunden zum Löschen braucht !? Vielleicht war ja Deine auch
abgebrochen
und hattest nur geglaubt, dass die dann mit Löschen fertig ist ? Wie
lange braucht sie denn nun?
Ich hab drei Karten, die beim MMC-Test alle ungefähr dasselbe Ergebnis
liefern: 826 / 955 (µs für 512 Byte lesen / schreiben).
1 KB zu schreiben dauert also ca. 1,9 ms, dann dauern 4096 KB ca. 7,8
s. Da beim MMC-Test aber bereits die Datenübertragung zum Sim aktiv
ist (beim ersten Map-Löschen nicht), ist das Map-Löschen noch etwas
schneller (keine UART-Interrupts). Die 7 s waren einfach nur
handgestoppt, aber das kommt auch recht gut hin, wenn man es
nachrechnet. Wenn das MiniFAT-Display an ist, dauert es übrigens
deutlich länger, weil die Displayausgabe dann noch (vergleichsweise
viel) Zeit braucht.
Da bei der Map-Datei z.B. 8192 Blöcke geschrieben werden, macht sich
eine nur etwas größere Zeitspanne pro Block eben stark bemerkbar. Das
ist auch der Grund, warum die MMC-Funktionen so merkwürdigen
(Inline-)Assemblercode enthalten, die Sende-Schleife z.B. wird beim
Map-Löschen 4 Millionen (--> 4 MB) mal durchlaufen, da machen ein paar
Zyklen mehr oder weniger dann schon eine ganze Menge aus.
Für die Map reicht übrigens auch eine 2304 KB (1536 * 1536 Punkte)
große MiniFAT-Datei aus. Die Map-Datei im SVN war irgendwie von Anfang
an 4 MB groß, keine Ahnung warum, ich habe daran nie etwas geändert.
2,25 MB zu löschen geht dann halt entsprechend schneller, an der
Kartenperformance ändert das aber natürlich nichts.
Ich habe folgende Bot-kompatiblen Karten:
512 MB MMC, Produktbezeichnung TS512MRMMC4
1 GB SD-Karte "Ridata 1GB Pro 150x", weitere Daten unbekannt
2 GB SD-Karte , Produktbezeichnung TS2GSD150
Wenn du nach den Produktbezeichnungen im Internet suchst, bekommst du
weitere Infos zu den Karten. Im Bot habe ich immer die 512 MB MMC.
SDHC-Karten (SD Version 2.00) funktionieren mit dem ct-Bot-Code
(bisher) übrigens nicht.
Ich glaube wir brauchen mal eine MMC-FAQ-Seite im Wiki...
Grüße,
Timo
|
|