La solución general para probar la memoria es escribir un patrón específico como 0xFFFFFFFF
a tu memoria y léelo después y compara el resultado. Por supuesto, puede y debe alterar el patrón para descubrir problemas. Algunas soluciones como memtest86+
también generan patrones aleatorios y cambian la dirección que usan para escribir en la memoria. Para obtener información más detallada sobre los algoritmos utilizados en memtest86, consulte su página de tecnología. Todas las soluciones proporcionadas en esta publicación utilizan básicamente la misma idea subyacente.
Si desea ejecutar su prueba desde Linux (mencionó Linux en su publicación), eche un vistazo a memtester y la suite memtest, que deberían funcionar con arm. Para comenzar, debe usar memtester, ya que básicamente hace exactamente lo que desea.
Probar su memoria desde Linux tiene algunas desventajas, como que realmente no puede probar toda su memoria física, ya que el kernel también necesita memoria. Para probar la memoria con uboot (es mucho más pequeña que el kernel de Linux), eche un vistazo al comando mtest integrado. Le permite especificar el rango de direcciones, el patrón y la iteración. Con mtest, debería poder realizar pruebas bastante exhaustivas sin depender de un sistema operativo. Solo tiene que asegurarse de que está utilizando rangos de memoria válidos; de lo contrario, es posible que sobrescriba el uboot
región de memoria.
Si las pruebas proporcionadas por mtest no son suficientes, por supuesto, simplemente puede ampliar uboot e integrar funciones adicionales de prueba de memoria en uboot.