Arduino Eeprom Yazma Sayısı

Başlatan berkay_91, 18 Ocak 2021, 17:12:47

berkay_91

Merhaba, Atmega328 mikrodenetleyicinin datasheetinde toplam Eeprom yazma silme sayısını 100000 yazıyor, bu rakam bütün adresler için toplam mı yoksa Eepromun her adresi için ayrı ayrı mı tanımlanmış?

kimlenbu

#1
Her adres için. Atmega için STM'de olduğu gibi eeprom emülasyon kütüphanesi var mı bilmiyorum ama bu sayıyı milyonlara çıkarmak için bir yöntem kullanıyorlar.

Eepromda tek adrese veri yazmak isterseniz her seferinde komple bütün page'i formatlamanız gerektiğinden bunun yerine misal 1byte lık bir veri için 1kb'lık bir page ayrılıyor. Bir kere formatlıyorsunuz, ondan sonra her seferinde 1byte veri icin,1byte counter icin kullaniliyor, her yeni veri yazılacağından page başlangıç adresini arttırıp yeni adrese yazıyorsunuz. bu sayede 100.000*500'lük bir ömrünüz oluyor. Birden fazla page ayırırsanız bu ömür daha da yükselir. Page bitince yeni bir page'e geçiyorsunuz veya formatlayıp sayacı sıfırlıyorsunuz.

Ayrıca şöyle bir tehlikesi var, kodunuzun bittiği yerden oldukça uzaktan başlatmanız lazım. Bana kafayı yedirtmişti zamanında. Page başlangıç adresi olarak yazdığım adres yazdığım kod büyüyünce kodumum bitiş adresinden geride kaldı. MCU'ya yeni kod atıyorum çalışıyor, arkasından gidip kod alanına veri yazıyor ve mcu çakılıyordu, fark edene kadar bir kaç günümü yemişti.