Tengo un dispositivo incrustado. Está basado en ARM, con Linux 2.6.31 y tiene 256 MB de RAM.
Quería obtener algunas ideas / consejos sobre cuál es la forma más efectiva de probar la RAM del dispositivo para detectar daños en los datos. ¿Hay alguna prueba / software que alguien pueda sugerir?
Nota:
Tengo memtester ahora. Lo obtuve después de la sugerencia de Ulrich Dangel (abajo).
También me he mtest
configurado desde el uboot ahora.
¿Alguna otra prueba / enfoque que pueda usar?
mtest
básicamente hace lo mismo que memtest86 +. Básicamente tiene diferentes opciones, ejecute la prueba de memoria desde su sistema operativo como Linux (esto sería,memtester
pero puede tener problemas para probar toda la región física). También puede usar un mini sistema (uboot) para probar su memoria (mtest
)Respuestas:
La solución general para probar la memoria es escribir un patrón específico como
0xFFFFFFFF
en su memoria y luego leerlo y comparar el resultado. Por supuesto, puede y debe alterar el patrón para descubrir problemas. Algunas solucionesmemtest86+
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, eche un vistazo a 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 al paquete de memtest, que ambos 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, ya que no puede probar toda su memoria física ya que el núcleo también necesita memoria. Para probar la memoria con uboot (es mucho más pequeño 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ías poder hacer pruebas bastante extensas sin depender de un sistema operativo. Solo tiene que asegurarse de utilizar rangos de memoria válidos; de lo contrario, es posible que sobrescriba la
uboot
región de memoria.Si las pruebas proporcionadas por mtest no son suficientes, por supuesto, solo puede extender uboot e integrar características de prueba de memoria adicionales en uboot.
fuente
bist > md.w 0x00000023 10 00000023: