Jedną z części Arduino, która z czasem może stać się zawodna, jest jej pamięć. Istnieją trzy pule pamięci w mikrokontrolerze używanym na płytach Arduino opartych na AVR:
- Pamięć flash (przestrzeń programu) to miejsce, w którym przechowywany jest szkic Arduino.
- SRAM (statyczna pamięć o swobodnym dostępie) to miejsce, w którym szkic tworzy i manipuluje zmiennymi podczas działania.
- EEPROM to przestrzeń pamięci, której programiści mogą używać do przechowywania informacji długoterminowych.
Pamięć jest jedną z części płyty, którą można sprawdzić i zweryfikować, a tym samym ocenić pod kątem niezawodności / zdrowia. Bardzo podstawowym sposobem sprawdzenia pamięci byłoby zapisanie określonego 8-bitowego wzorca (znaku bajtowego) nad każdym adresem w pamięci, a następnie odczytanie wartości obecnej z każdego adresu. Jeśli zapisana wartość jest zgodna z odczytaną wartością, to ten konkretny 8-bitowy blok w pamięci działa obecnie poprawnie.
Zużycie w pamięci ROM zwykle występuje w układzie blokowym, tzn. N * 8-bitowe bloki ulegają degradacji w miarę upływu czasu. Tak więc, w przypadku 2-bajtowego układu ROM, stan układu można oszacować, zapisując i odczytując każdy bajt w układzie oraz obliczając procent poprawnie działających bloków. Jeśli odsetek nieudanych bloków jest znaczący (15% -20%), oznacza to, że pamięć prawdopodobnie wkrótce ulegnie awarii.
Kod testowy można zapisać przy użyciu osobnych metod dla każdej z sekcji pamięci.
SRAM
Wszelkie zmienne zadeklarowane statycznie lub dynamicznie są przydzielane w pamięci SRAM. Możemy więc zadeklarować dużą tablicę znaków (~ 2000) i wypełnić każdy element 255 (wszystkie bity 1). Następnie możemy spróbować odczytać każdy z tych elementów i sprawdzić, czy odczytywana wartość to 255.
EEPROM
EEPROM może być obsługiwany za pomocą biblioteki EEPROM . Biblioteka udostępnia funkcje do odczytu i zapisu z określonych lokalizacji w pamięci EEPROM. Tak więc wszystkie adresy pamięci można przetestować, po prostu zapętlając całą przestrzeń pamięci. Ta operacja wymaga 500 zapisów i odczytów.
W zależności od użycia karty, pamięć EEPROM najprawdopodobniej ulegnie awarii jako pierwsza, ale nie jest krytyczna dla działania karty.
Lampa błyskowa
Dane mogą być przechowywane w pamięci flash za pomocą PROGMEM
dyrektywy. Podobnie do SRAM, tutaj można zadeklarować i zainicjować dużą tablicę. Następnie wartości można odczytać i sprawdzić.