Salah satu bagian dari Arduino yang cenderung menjadi tidak dapat diandalkan dari waktu ke waktu adalah ingatannya. Ada tiga kumpulan memori dalam mikrokontroler yang digunakan pada papan Arduino berbasis avr:
- Memori flash (ruang program), adalah tempat sketsa Arduino disimpan.
- SRAM (static random access memory) adalah tempat sketsa membuat dan memanipulasi variabel saat dijalankan.
- EEPROM adalah ruang memori yang dapat digunakan programmer untuk menyimpan informasi jangka panjang.
Memori adalah salah satu bagian dari papan yang dapat diperiksa dan diverifikasi, dan karenanya dievaluasi keandalan / kesehatannya. Cara yang sangat mendasar untuk memeriksa memori adalah dengan menulis pola 8-bit (karakter byte) tertentu pada setiap alamat dalam memori dan kemudian membaca nilai yang ada dari setiap alamat. Jika nilai yang ditulis cocok dengan nilai yang dibaca, maka blok 8 bit tertentu dalam memori berfungsi dengan benar pada saat ini.
Keausan dalam memori ROM biasanya terjadi dalam pola blok yaitu blok n * 8-bit menjadi terdegradasi seiring waktu. Jadi, untuk chip ROM 2K byte, kesehatan chip dapat diperkirakan dengan menulis dan membaca dari setiap byte pada chip, dan menghitung persentase blok yang berfungsi dengan benar. Jika persentase blok gagal signifikan (15% -20%), itu berarti bahwa memori akan segera gagal.
Kode uji dapat ditulis menggunakan metode terpisah untuk masing-masing bagian memori.
SRAM
Setiap variabel yang dinyatakan secara statis atau dinamis dialokasikan pada SRAM. Jadi, kita bisa mendeklarasikan array karakter besar (~ 2000) dan mengisi setiap elemen dengan 255 (semua bit 1). Kemudian, kita dapat mencoba membaca masing-masing elemen tersebut dan melihat apakah nilainya sedang dibaca 255.
EEPROM
EEPROM dapat dimanipulasi menggunakan pustaka EEPROM . Perpustakaan menyediakan fungsi untuk membaca dan menulis dari lokasi tertentu di EEPROM. Jadi, semua alamat memori dapat diuji dengan hanya mengulang seluruh ruang memori. Operasi ini akan membutuhkan 500 tulisan dan bacaan.
Tergantung pada penggunaan papan, EEPROM kemungkinan besar gagal pertama tetapi tidak penting untuk operasi papan.
Flash
Data dapat disimpan pada memori flash menggunakan PROGMEM
arahan. Mirip dengan SRAM, array besar dapat dideklarasikan dan diinisialisasi di sini. Kemudian, nilai dapat dibaca dan diperiksa.