Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

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
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT_V2, OSOPT V3.0
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)