Hallo Gemeinde. FlashSpeicher-Chips sind ja (immer) in Speicherblöcken organisiert. Bevor ein Block beschrieben werden kann, muss er gelöscht sein (Zellen auf 0xFFFF). Das Löschen dauert hierbei im Vergleich zum Schreiben um ein Vielfaches länger. Um diese Löschzeit irgendwie zu "umgehen" hätte ich gerne gewusst, ob es generell möglich ist z.B. Block0 zu löschen und GLEICHZEITIG (im Hintergrund) die Blöcke 1,2,3,4,5 mit Daten zu beschreiben. Hat jemand Erfahrung auf diesem Gebiet? Danke Thomas
"Generell" geht es nicht. Es gibt viele ICs, die sich während der Ausführung eines Befehls tot stellen. Da muss man ein Busy Bit abfragen, bis man weiter machen darf. Aber es mag durchaus andere Konstruktionen geben.
Ja, ich habe viele Datasheets gesehen, die ein spezielles Suspend- und ein Resume-Command beschreiben, um während eines Lösch- oder Program-Vorgangs auf den Baustein "zu kommen". Ich interpretiere das jetzt so, dass in meinem Fall der Löschvorgang leider angehalten wird bis ich RESUME kommandiere. Sprich: Parallel bzw- Gleichzeit geschieht da nix. (Aber warum ist das eigentlich so? Ich dachte das Löschen eines Blocks würde der Controller auf dem Baustein für mich übernehmen? Es wäre doch ein riesen Vorteil, wenn man nun gelöschte Blöcke beschreiben könnte. Warum kann das kaum ein Flashbaustein?) DANKE.
Thomas schrieb: > Warum kann das kaum ein Flashbaustein?) Ich könnte mir vorstellen, dass die innere Speicherstruktur des Bausteins in der fraglichen Zeit einfach nicht zur Verfügung steht, d.h. Adressleitungen, Datenleitungen, etc. Weil beschäftigt. PS: Was für ein Flash meinst du eigentlich, NAND oder NOR?
Ich nehme an, es handelt sich um den Flash-Speicher, aus dem auch der Programmcode ausgeführt wird. Nach einem Löschbefehl kann man per Polling feststellen, ob der Löschvorgang abgeschlossen ist. Daher ist kein anderer Zugriff in dieser Zeit möglich und man muß den Programmteil, der das Löschen/Programmieren übernimmt ins RAM auslagern. Bei meinen Anwendungen mit ext. Flash verwende ich die SST39..., deren Sektorgröße unabhängig vom typ. 4KB beträgt. Der Löschvorgang dauert typ. 18ms/Sektor. A. K. schrieb: > PS: Was für ein Flash meinst du eigentlich, NAND oder NOR? ... und welcher µC werkelt bei Dir?
Er schreibt von "FlashSpeicher-Chips" und Suspend/Resume Vorgängen. Daher wird es sich wohl um externen Flash-Speicher handeln, nicht um den Code-Flash eines Microcontrollers.
Ja richtig, es handelt sich um einen externen Flash-Baustein von Intel an einem DSP...
Thomas schrieb: > Ja richtig, es handelt sich um einen externen Flash-Baustein von > Intel > an einem DSP... Gut, es ist also ein "Flash-Baustein von Intel", damit ist dann alles geklärt und jeder weiss Bescheid.
argl schrieb: > Gut, es ist also ein "Flash-Baustein von Intel", damit ist dann alles > geklärt und jeder weiss Bescheid. Die Spannung steigt ... Wer löst das Rätsel als Erster?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.