หนึ่งในส่วนของ Arduino ที่มีแนวโน้มว่าจะไม่น่าเชื่อถือเมื่อเวลาผ่านไปคือหน่วยความจำ มีหน่วยความจำสามพูลในไมโครคอนโทรลเลอร์ที่ใช้กับบอร์ด Arduino ที่ใช้ avr:
- หน่วยความจำแฟลช (พื้นที่โปรแกรม) เป็นที่เก็บร่าง Arduino
- SRAM (หน่วยความจำเข้าถึงโดยสุ่มแบบคงที่) เป็นที่ซึ่งร่างสร้างและปรับเปลี่ยนตัวแปรเมื่อมันทำงาน
- EEPROM เป็นพื้นที่หน่วยความจำที่โปรแกรมเมอร์สามารถใช้เพื่อเก็บข้อมูลระยะยาว
หน่วยความจำเป็นส่วนหนึ่งของบอร์ดที่สามารถตรวจสอบและตรวจสอบและประเมินความน่าเชื่อถือ / สุขภาพ วิธีพื้นฐานในการตรวจสอบหน่วยความจำคือการเขียนรูปแบบ 8 บิต (อักขระไบต์) บนทุกแอดเดรสในหน่วยความจำแล้วอ่านค่าปัจจุบันจากทุกแอดเดรส หากค่าที่ถูกเขียนตรงกับค่าที่อ่านดังนั้นบล็อก 8 บิตเฉพาะในหน่วยความจำจะทำงานอย่างถูกต้องในขณะนี้
การสึกหรอในหน่วยความจำ ROM มักจะเกิดขึ้นในรูปแบบบล็อคพอยต์นั่นคือบล็อก n * 8- บิตจะลดลงตามเวลา ดังนั้นสำหรับชิป ROM 2K ไบต์ความแข็งแรงของชิปสามารถประเมินได้ด้วยการเขียนและอ่านจากทุก ๆ ไบต์บนชิปและคำนวณเปอร์เซ็นต์ของบล็อกการทำงานที่ถูกต้อง หากเปอร์เซ็นต์ของบล็อกที่ล้มเหลวมีความสำคัญ (15% -20%) นั่นหมายความว่าหน่วยความจำมีแนวโน้มที่จะล้มเหลวในไม่ช้า
รหัสทดสอบสามารถเขียนได้โดยใช้วิธีการแยกต่างหากสำหรับแต่ละส่วนหน่วยความจำ
SRAM
ตัวแปรใด ๆ ที่ประกาศแบบคงที่หรือแบบไดนามิกจะถูกจัดสรรบน SRAM ดังนั้นเราสามารถประกาศอาร์เรย์อักขระขนาดใหญ่ (~ 2000) และเติมทุกองค์ประกอบด้วย 255 (บิตทั้งหมด 1) จากนั้นเราสามารถลองอ่านองค์ประกอบเหล่านั้นแต่ละรายการและดูว่าค่าที่อ่านเป็น 255 จริงหรือไม่
EEPROM
EEPROM สามารถจัดการการใช้ห้องสมุด EEPROM ห้องสมุดมีฟังก์ชันในการอ่านและเขียนจากตำแหน่งเฉพาะใน EEPROM ดังนั้นที่อยู่หน่วยความจำทั้งหมดสามารถทดสอบได้โดยการวนลูปทั่วพื้นที่หน่วยความจำทั้งหมด การดำเนินการนี้จะต้องมีการเขียนและอ่าน 500 ครั้ง
ขึ้นอยู่กับการใช้งานบอร์ด EEPROM มักจะล้มเหลวเป็นอันดับแรก แต่ไม่สำคัญต่อการทำงานของบอร์ด
แฟลช
ข้อมูลสามารถเก็บไว้ในหน่วยความจำแฟลชโดยใช้PROGMEM
คำสั่ง เช่นเดียวกับ SRAM อาร์เรย์ขนาดใหญ่สามารถประกาศและเริ่มต้นได้ที่นี่ จากนั้นค่าสามารถอ่านและตรวจสอบได้