Watch Dog
Como han mencionado otros, el temporizador de vigilancia es capaz de detectar errores "impares" que hacen que el programa pase a un estado impar. El microcontrolador se reinicia y todo actúa como si se hubiera encendido nuevamente. Para muchas aplicaciones esta es la mejor solución. Un consumidor se molestaría si el control remoto de su televisor se reiniciara a sí mismo cuando intentaba usarlo, pero el temporizador de un perro guardián detectaría un evento extraño y lo reiniciaría. Puedo asegurarle que el consumidor estaría mucho más contento con un reinicio aleatorio que tener que retirar las baterías y volver a colocarlas antes de que se recupere.
También hay situaciones en las que es posible que no puedas reiniciar el dispositivo, como estar en un contenedor sellado o en algún lugar al que no puedas acceder. En estas situaciones, sería mucho mejor simplemente reiniciar en lugar de tener que irrumpir en un contenedor o no.
Seguridad crítica
Parece que está buscando algo que sea más crítico en cuanto a seguridad, en el que desea que una falla de hardware no cause que algo salga muy mal.
Hay procesadores que están diseñados específicamente para esto. En general, solo puede alertarle de que se ha producido un error, esta alerta puede usarse para apagar sus sistemas de manera segura.
Vi una demo de un chip que hizo esto, creo que fue un TI ARM, tal vez el TMS570 . Pero de todos modos, un método de protección es tener 2 núcleos de procesamiento paralelo que se compensan con medio ciclo de reloj. Los resultados de cada operación pueden compararse entre los dos núcleos. El desplazamiento hace que sea menos probable que un evento externo provoque que ambos núcleos cometan el mismo error exacto.
Si la comparación resulta verdadera, entonces continuará con la vida normalmente, si fuera falsa, entonces lo que haga dependerá de su aplicación. Al menos en esta situación, se le informará de un error y tendrá un control de ingeniería completo sobre cómo desea recuperarse de él.