geschützter Speicherbereich vom MSP (TLV-Struktur) vs. EEPROM

OP #1044373
Hallo,

der MSP bietet die Möglichkeit einen geschützten Flashbereich für das 
nicht flüchtige Speichern von Daten zu verwenden.
Nun frage ich mich allerdings, wo liegt nun eigentlich (für den Nutzen) 
der Unterschied zwischen diesem Flashbereich und einem EEPROM?

Gibt es da Vor- oder Nachteile?
Gast #1044411
Die gibt es sehr wohl. EEPROMs sind i.A. zellenweise löschbar, FLASH 
segmentweise. D.h. um ein Bit im Flash von 0 auf 1 zu aendern, muss 
vorher das gesamte Segment gelöscht werden (je nach Größe im MSP 64, 128 
oder 512 Byte). Beim EEPROM reicht ein Byte- bzw. Wortzugriff.
EEPROMs haben i.A. eine viel größere Anzahl von Lösch/Schreibzyklen als 
FLASH. Der Nachteil der integrierten EEPROMs auf den µCs sind der meist 
höhere Preis aufgrund der anderen Technologie.
Wenn man mit den Nachteilen des Flash im MSP nicht leben kann, bietet 
sich die Möglichkeit an, serielle EEPROM's ueber I2C anzuschliessen. Die 
bekommt man für nen Appl und n Ei.
Gast #1044424
>D.h. um ein Bit im Flash von 0 auf 1 zu aendern, muss
>vorher das gesamte Segment gelöscht werden
Vom Prinzip her ist das alles richtig, im Detail jedoch nicht:
Ein gelöschtes Bit beim MSP ist '1'. Beim Schreiben ins Flash kann man 
eine '1' zu '0' machen, umgekehrt jedoch nicht.
D.h. man kann solange Daten in ein Flashsegment schreiben, solange man 
aus einer '0' keine '1' machen muss. Falls das der Fall ist muss das 
Flashsegment gelöscht werden.
Das ist z.B. dann von Interesse, wenn man (wenige) Daten nacheinander im 
Flash ablegen möchte, dann nämlich muss man nicht vor jedem 
Schreibvorgang das Segment löschen!
#1044603
Stefan wrote:
>>D.h. um ein Bit im Flash von 0 auf 1 zu aendern, muss
>>vorher das gesamte Segment gelöscht werden
> Vom Prinzip her ist das alles richtig, im Detail jedoch nicht:
> Ein gelöschtes Bit beim MSP ist '1'. Beim Schreiben ins Flash kann man
> eine '1' zu '0' machen, umgekehrt jedoch nicht.
> D.h. man kann solange Daten in ein Flashsegment schreiben, solange man
> aus einer '0' keine '1' machen muss.
Genau diesen Fall hab ich beschrieben.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.