Re: Interner Flash-Speicher Kategorie: CC2-Unit & Appl.Board / CC2-Station (von André H. - 8.07.2004 10:27) | ||
Als Antwort auf Interner Flash-Speicher von Torsten71 - 1.07.2004 13:46 | ||
| ||
Hallo Torsten, > Ich möchte mit dem Modul flash.c2 von André Werte, die sehr selten geändert werden (Lichtszenen für > Dimmer, Positionen von einer Leinwand) speichern. > In der Beschreibung steht, dass man keine einzelnen Werte überschreiben kann, sondern immer > zuerst den ganzen Bereich löschen musst, weil sonst neue und alte Werte im Flash UND-verknüpft > werden. > Meine Frage: Wenn man vor dem Beschreiben einer einzelnen Adresse (ich weiss, mit dem Modul > bisher(?) noch nicht möglich) Nullen hereinschreibt und anschlie�end den neuen Wert, müsste das > doch möglich sein, oder? > Was spricht prinzipiell dagegen? Das geht nicht. Wenn das ginge, wäre schlie�lich ein Löschen von kompletten Segmenten fast sinnlos. Hier ein paar Grundlagen zu Flash-Speichern: Eine Speicherzelle ist gelöscht, wenn alle Bits einen Highpegel besitzen, nicht wenn alle Bits low sind (=0). (Dies gilt für alle Speicher, auch RAM) Beim Schreiben wird im Flash die Speicherzelle mit den anliegenden Daten UND-verknüpft und so die nötigen Bits auf 0 gesetzt. (gelöscht). Ein Setzen der Bits auf 1 ist durch schreiben nicht möglich. Dafür mu� eben ein komplettes Segment - bei der CC2 64kB - gelöscht werden. Wenn man in eine Speicherzelle erneut hineinschreibt, so werden die neuen Daten mit den vorhandenen wiederum UND-verknüpft. Sind alle Bits einer Speicherzelle gelöscht, so erhält man immer den Wert 0, egal was man versucht hineinzuschreiben. Kurz: Um das löschen kommt man nicht herum, au�er eine UND-Verknüpfung zwischen vorhanden Wert und neuen Wert würde wieder den neuen Wert ergeben. (z.B. alter Wert 27(0b11011), neuer Wert 24(0b11000) ergibt UND-verknüpft wieder 24(0b11000)) MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: Re: Interner Flash-Speicher (von Torsten71 - 14.07.2004 10:36) |