Respuesta breve
Atender periódicamente el watchdog no prueba que la aplicación funcione. La autorización para atenderlo debe depender del progreso de las funciones supervisadas dentro de sus plazos.
Definir qué significa avanzar
En una tarea de medida, el indicador puede ser una adquisición terminada y validada. En comunicaciones, una petición procesada o rechazada de forma controlada. Un contador dentro de una interrupción periódica no detecta una tarea principal bloqueada. Zephyr presenta un modelo de canales separados para supervisar tareas Zephyr Project — Task Watchdog.
Justificar cada intervalo
Mida la duración máxima admisible incluyendo acceso a Flash, espera del bus y arranque. Asigne a cada tarea un plazo y una reacción definida. Considere suspensión y fuente de reloj del watchdog. Un plazo excesivo puede evitar falsas alarmas, pero retrasar demasiado la detección. Distinga las condiciones de inicialización de las del ciclo normal de trabajo.
Poner a prueba la supervisión
Bloquee deliberadamente una tarea manteniendo activos los temporizadores y las demás tareas. Después, si la plataforma permite un ensayo controlado, compruebe una parada del planificador. Registre tiempo de detección, estado de salidas y causa del reinicio. Tras reinicios repetidos, el equipo debe alcanzar un estado diagnóstico definido, en lugar de activar indefinidamente un actuador durante cada arranque.
Lista de comprobación
- Definir indicador de progreso y plazo por tarea.
- Probar bloqueo con temporizador todavía activo.
- Comprobar causa del reset y reinicios repetidos.
Preguntas frecuentes
¿Conviene atenderlo siempre desde una interrupción?
Solo si ese diseño detecta realmente los fallos relevantes. Una atención periódica independiente puede ocultar tareas de aplicación detenidas.
Fuentes técnicas
Servicio relacionado