Hallo,
da hast du ja einiges an Arbeit reingesteckt.
Wie es aussieht suchst du nach dem Begriff Wear Leveling.
Da gibt es verschiedene Verfahren, um die Speicherzellen gleichmäßig abzunutzen, kenne mich aber nicht genauer aus.
In deinem Fall könnte man noch eine relativ einfache Lösung in Betracht ziehen:
Der ATmega88 hat intern ja auch noch EEPROM, da genügen ja 2 Bytes, in denen man die nächste zu schreibende Page ablegt.
Da EEPROM nichtflüchtig ist, bleiben die Daten es auch ohne Versorgungsspannung vorhanden.
Allerdings muss man glaube ich die EESAVE Fuse umstellen, damit beim Übertragen eines neuen Programms auf den ATmega der Inhalt nicht gelöscht wird.
Dennoch wird man quasi nie die 100000 Zyklen erreichen
Viele Grüße,
Bernhard






Hoffentlich liegt das Ziel auch am Weg
Zitieren
Super Info! Auf jeden Fall werde ich die im Datenblatt angegebenen Schreibzyklen zu Flashspeichern nicht mehr so absolut nehmen. Auch die 13 Tage ununtebrochenen Schreiben-/Lesenkönnens des Flash Destroyers von der
am Sinn des Wear Leveling für meinen Zweck zweifeln. Egal, jetzt habe ich da schon mal angefangen, finde es interessant, werde es durchziehen und beim nächsten Mal dann, hoffentlich spätestens bei Einsatz eines RAM-Speichers wie den oben erwähnten, darauf verzichten 


Lesezeichen