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
Weil: - Flash nur komplette Pages löschen kann - weil Flash 1/10 der Schreibzyklen hat - ...
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.
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, ...)
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.