Es difícil argumentar, que el reloj interno de la interna watchdog es en realidad independiente de todos los demás relojes y siempre funcionando como debería.
Así que para la certificación por lo general es mucho más fácil colocar un sistema de control externo en la mesa y decir: mira allí está nuestro perro guardián, que debe ser activado por el MCU en ese intervalo, que es más corto que el de nuestro tiempo hasta el fallo, por lo que nuestro dispositivo es seguro como la hemos definido.
Para abordar algunos de los comentarios:
"y siempre funcionando como debería" - Buen punto. Puede ser más difícil
demostrar que el software correctamente, se inicializa el interior de vigilancia
bajo todas las circunstancias que sólo el empleo de un organismo de control de la viruta y se refieren
a su hoja de datos.
Usualmente, esto es demostrado por un fallo de la inserción de la prueba, que se presenta en un cuerpo de la certificación. Por lo que se les muestra el código donde su inicialización ocurre, y donde la activación de la watchdog sucede. Normalmente piden modificar el código de tal manera que la activación de la watchdog es detenido después de un cierto tiempo ha transcurrido y compruebe si el controlador se restablece correctamente.
O probar que el código no contiene un error que accidentalmente
desactiva el interior de vigilancia.
Al menos en algunos controladores, el perro guardián se llama independiente y tiene su propia fuente de reloj y no se puede desactivar por medio de software, sólo un reset del controlador se desactivará el watchdog. Al menos en teoría - es fácil mostrar que no se puede controlar por software, pero es difícil comprobar que el reloj es realmente independiente y no va a parar debajo de la EMI.
O probar que el código no se ejecuta salvaje continuamente restablecimiento de la
de control externo tan rápido como puede. Problema resuelto. ;-)
Para que el caso de utilizar una ventana de vigilancia que ha de ser activado en determinados intervalos de tiempo y si no lo hacen (trigger es demasiado a menudo o menos) se restablece el circuito. El STM32 estoy trabajando con tener una ventana interna watchdog, pero se ejecuta de PCLK1 que se deriva del reloj principal, así que no creo que es tan útil como un sistema de control externo con su propia fuente de reloj.
O que algún genio no ponga el servicio de vigilancia de rutina dentro de un
temporizador de ISR, por lo que el código principal puede fallar, pero la interrupción que se mantiene la cocción y
el servicio de la watchdog perfectamente...
Que sin duda es cierto, pero esperamos que una revisión puesto que la genialidad de nuevo en su silla - pero bueno cuando yo empecé, que fue mi primera idea así :D. Durante los procesos de certificación de la que he sido parte, que siempre tenía una mirada al guardián parte del software.