Estoy trabajando en un proyecto que no es de seguridad y, como parte de las pruebas de inicialización, quería comprobar si la memoria interna del LPC1778 funciona correctamente antes de comenzar la aplicación.
No tengo la intención de probar todas las direcciones ya que no es posible para la aplicación. Estoy planeando implementar este 3 en 1 (ALU, RAM y ROM) de la siguiente manera:
1. Almacene una matriz de 32 números en la ROM (matriz const) cuyos valores de miembro son potencias de 2. Ejemplo- > 1,2,4,8 ... hasta 2 de potencia 32 (ya que LPC1778 tiene un bus de datos de 32 bits)
2.Lea estos valores de la ROM (matriz const) y escríbalos en una matriz de tamaño 32 ubicada en la RAM (matriz no constante asignada en la pila llamando a una función que declara dicha matriz localmente).
3. Compare cada valor en la matriz local con un valor calculado por la ALU (desplazamiento a la izquierda bit a bit).
¿Esto es suficiente para probar o también debo verificar que no haya un bus de dirección (si están en corto y trato de escribir en una ubicación no válida, no se activará el controlador de excepciones)? Además, también debo verificar otras operaciones por parte de ALU, como la suma, resta, NO, XOR, etc. También tengo el Code Checksum almacenado en una memoria flash externa que se comparará con el cálculo en el código durante el tiempo de ejecución. (La suma de comprobación se calcula en el código == La suma de comprobación se lee en flash)
Cualquier sugerencia. Por favor ayuda.
Estoy usando Keil IDE.