www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik EEEProm auf dem STM32 im Vgl. zu Flash


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Uwe1980 (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo liebe Kollegen,

warum sollte ich auf dem STM32 die EEProm Emulation nutzen, wenn ich das 
Flash auch direkt 16bit weise schreiben kann. Hab ich da ein Detail 
mißachtet?

mit freundlichen Grüßen,
Uwe

Autor: Mike S. (thesealion)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Weil:
- Flash nur komplette Pages löschen kann
- weil Flash 1/10 der Schreibzyklen hat
- ...

Beitrag #2654291 wurde vom Autor gelöscht.
Autor: Uwe1980 (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
muss ich zum schreiben des Flashs vor dem Schreiben jedes Mal die 
gesamte Page löschen?

Wenn die Page komplett lösche mit: FLASH_ErasePage(PAGE0_BASE_ADDRESS);
kann ich anschließend HalfWords schreiben.

Wenn ich allerdings nach einiger Programmlaufzeit einzelne 
Speicherbereich nochmals überschreiben will klappt das nicht. Muss ich 
da etwas beachten, oder geht das einfach nicht?

Grundsätzlich ist es kein Problem die Page vor jedem Speichern zu 
löschen, da ich genügen RAM hab um die paar Daten vor dem Löschen in 
einem RAM-Spiegel zwischen zu speichern.

Autor: John W. (halfpastseven)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Uwe1980 schrieb:
> muss ich zum schreiben des Flashs vor dem Schreiben jedes Mal die
> gesamte Page löschen?
>

Ich denke du musst nur löschen wenn der verwendete Speicherbereich 
bereits einmal verwendet wurde und nicht auf 0xFFFFFFFF steht.


> Wenn die Page komplett lösche mit: FLASH_ErasePage(PAGE0_BASE_ADDRESS);
> kann ich anschließend HalfWords schreiben.
>
> Wenn ich allerdings nach einiger Programmlaufzeit einzelne
> Speicherbereich nochmals überschreiben will klappt das nicht. Muss ich
> da etwas beachten, oder geht das einfach nicht?
>

Du kannst einen Speicherbereich nach einem Schreiben nicht nocheinmal 
neu beschreiben, hier musst du vorher die Page löschen.
Ob es einen Unterschied mit HalfWord oder Word schreiben gibt weiß ich 
nicht. Ich denke aber eher nicht...

> Grundsätzlich ist es kein Problem die Page vor jedem Speichern zu
> löschen, da ich genügen RAM hab um die paar Daten vor dem Löschen in
> einem RAM-Spiegel zwischen zu speichern.

Wie oft musst du denn Daten ins Flash speichern?
- begrenzte Schreibzugriffe beim Flash!!
- eventuell sonst ein externer Speicher notwendig?? (EEPROM, SD, ...)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net