Skocz do zawartości

Pamięć flash w uC


Pomocna odpowiedź

Napisano

Powiedzmy, że mam uC od Atmela. Jest napisane, że pamięć flash tego uC wytrzyma ileśtam cykli kasuj/zapisz. Jak zachowa się owa pamięc po wykorzystaniu dozwolonej ilości cykli? Zablokuje się, stanie się read-only czy jak?

Myślę że mogą wyskakiwać błędy podczas wgrywania kodu programu. Ale raczej do tego nie dojdzie, Możesz napisać bardzo dużo programów z masą poprawek i i tak nie przekroczysz tej liczby. Przynajmniej mi się to nie zdarzyło.

Ta liczba cykli to liczba GWARANTOWANA przez producenta. To znaczy że poniżej tej liczby nie wysiądzie żadna komórka. Taka pamięć może wytrzymać nawet 10 razy tyle, ale nie ma na to gwarancji.

A co się dzieje jak komórka padnie? Po prostu zapis/odczyt kończy się zwróceniem innej wartości i nie pomaga ponowny zapis, ewentualnie pamięć może zwracać różne wartości - jednym słowem "nie trzyma dobrze". Nic się nie blokuje bo mikrokontroler nie liczy cykli. Dlatego przy zapisie dokonuje się weryfikacji.

W domowych warunkach nie da się wykończyć takiej pamięci. Chyba że ktoś celowo napisze program który zapisuje pamięć. Jeżeli komuś padnie procesor to albo zawinił zasilacz (wahania napięcia podczas programowania mogą uszkodzić pamięć), albo przypadkowe przestawienie fusebitów (nie koniecznie pomyłka programisty!).

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...