¿Es posible implementar un temporizador de vigilancia a prueba de fallas en el software?

1

Quiero agregar un fragmento de código para el temporizador de vigilancia dentro de mi código fuente para que la placa se reinicie automáticamente cuando se cuelgan los programas. Estoy usando la tarjeta Mediatek Linkit One.

    
pregunta Sai Gautham

2 respuestas

0

Puedes crear una función que "Alimenta al perro" en un lugar apropiado de tu programa. Cuando el perro no se alimenta, el temporizador de vigilancia transcurrirá y reiniciará el programa. Mire la documentación del microcontrolador para ver cómo se implementa esto. Por lo general, el temporizador Watch Dog deberá configurarse correctamente (con los valores adecuados de escala previa), habilitarse y, a continuación, borrarse periódicamente antes de que expire el temporizador. Las referencias a la API de los laboratorios de mediatek no parecen darle acceso a esta funcionalidad de nivel inferior, pero el resumen técnico del procesador SOC para el ARMyEJ-S incluye un temporizador de vigilancia (p.8), que es la única mención. Si no puede encontrar una respuesta a esto en la documentación, me pondré en contacto con ellos, los solicitaré directamente y ejerceré presión sobre sus desarrolladores (como ya se solicitó en su foro).

    
respondido por el Robert Hana
2

No tengo idea de lo que es una placa Mediatek Linkit One (y usted no proporcionó un enlace), pero, en general, no puede. Si su programa se cuelga, ¿cómo se ejecutará el código de vigilancia?

Los watchdogs generalmente tienen que implementarse en hardware, ya sea internamente por una sección de la CPU que se ejecuta independientemente del programa del usuario o, si eso no se puede hacer, se emplea un watchdog externo. Su programa restablecería periódicamente la vigilancia externa mediante el envío de un pulso. Si el watchdog externo no ve una transición dentro de un tiempo determinado, se genera un reinicio.

    
respondido por el Transistor

Lea otras preguntas en las etiquetas