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
Lesezeichen