El controlador parece estar entrando en Excepción indefinida al reiniciar

0

Hemos desarrollado una placa alrededor del microcontrolador STR912FAW47. Durante las pruebas iniciales, intentamos abrir el tablero cargando un programa simple para alternar un pin de puerto de salida. Estamos utilizando ULINK2 Debugger y Keil MDK ARM para cargar el programa. Cuando intentamos cargar el programa, no se carga en un solo intento. Después de que se haya cargado correctamente, el programa no parece estar funcionando, ya que no vemos la conmutación deseada en el puerto IO. Luego intentamos ejecutar el programa en modo de depuración a través de ULINK 2, el programa comienza a funcionar de forma intermitente una vez después de 2-3 intentos de conexión y ejecución a través del modo de depuración. Además de ver en detalle, se observa que cuando el programa no funciona, va al Controlador de excepciones indefinido (con un bucle infinito), en lugar de ir al Administrador de reinicio al ejecutar la primera instrucción después del reinicio. Es muy extraño, ya que desde el código y la memoria flash, se ve que la instrucción cargada en la dirección 0x0 es claramente para saltar al controlador de reinicio. ¿Alguien puede aclarar este comportamiento?

    
pregunta Balvir Kumar

1 respuesta

1

¿Has desactivado el temporizador de vigilancia? Si no proporciona un controlador adecuado para el WDT y si aparece habilitado de forma predeterminada (un escenario común), esto puede ser la raíz de su problema.

    
respondido por el Michael Karas

Lea otras preguntas en las etiquetas