Watchdog timer
Un contatore hardware che resetta il dispositivo a meno che il firmware non lo riavvii periodicamente, recuperando in automatico da blocchi e crash nei sistemi non presidiati.
Un watchdog timer (temporizzatore di controllo) è una rete di sicurezza per i dispositivi che nessuno può raggiungere per spegnerli e riaccenderli. Il contatore gira di continuo; il firmware deve “rinfrescarlo” (kick) prima che scada, e se non lo fa, perché il codice è bloccato in un ciclo, in deadlock su una chiamata radio o corrotto, l’hardware forza un reset. Quasi ogni microcontrollore ne ha uno.
Usarlo bene richiede un po’ di riflessione. Rinfrescare il watchdog da un interrupt di timer ne vanifica lo scopo, perché l’interrupt continua a girare mentre la logica principale è morta; il rinfresco dovrebbe dimostrare che il lavoro reale dell’applicazione sta avanzando. Il timeout deve essere più lungo di qualsiasi operazione lunga legittima, come il download di un firmware, oppure va sospeso deliberatamente intorno a essa. Un reset da watchdog merita anche di essere registrato nei log, perché riavvii frequenti e silenziosi nascondono un bug invece di correggerlo.
Parte del Glossario IoT. Hai trovato un errore o manca un termine? Scrivici.