Etkilesimli STM32 Watchdog ve Fault Recovery

İçindekiler

Etkilesimli STM32 Watchdog ve Fault Recovery#

STM32 / Ders 15

Bu laboratuvar, `watchdog` kavramini yalnizca "timeout dolunca reset atar" seviyesinde degil; hangi kaynagin watchdog'u besledigi, `IWDG` ile `WWDG` seciminin neyi degistirdigi ve tekrarlayan resetlerin `fault recovery` olmadan nasil kolayca `boot loop`'a donustugu somut bir dayaniklilik problemi olarak gorunur kilar. Hedef, `hang`, yanlis `ISR refresh`, `window miss` ve `safe mode` toparlanmasini ayni zaman cizelgesinde sezgisel hale getirmektir.

Ne Yap Fault senaryosunu, watchdog tipini, refresh kaynagini, timeout degerini ve toparlanma politikasini degistir; ardindan reset zincirini ve ayakta kalma davranisini izle.
Ne Ogren `IWDG`, `WWDG`, `refresh source`, `early refresh`, `timeout reset`, `safe mode` ve `boot loop` kavramlarinin neden ayni karar zincirine ait oldugunu gor.
Gorev Once sistemin watchdog kapaliyken nasil asili kaldigini gor. Sonra `timer ISR` ile yanlis besleme yolunu dene; en sonda supervisor tabanli bir stratejiyle fault'u sinirla ve gerekiyorsa safe mode'a dus.
Watchdog'un degeri reset atmasindan cok, reset kararini kimin verdigidir. Yanlis yere konmus bir `refresh`, asili kalmis sistemi "saglikli" gibi gosterebilir; iyi bir recovery politikasi ise tekrarlayan resetleri kontrollu bir `safe mode` davranisina cevirebilir.

Bu Derste Ne Oturmali?#

  1. IWDG, basit ve guvenilir bir “beni unutma” sinyali ister; ama yanlis yerden beslenirse asil fault’u saklayabilir.

  2. WWDG, cok erken refresh’e de tepki vererek “sadece bir yerde birileri refresh ediyor” mantiginin her zaman yeterli olmadigini gosterir.

  3. Refresh’i timer ISR icine koymak kolay gorunse de, asil gorulmesi gereken ana gorev sagligini gizleyebilir.

  4. Dogru fault recovery, her resetten sonra ayni duvara vurmak degil; reset nedenini okumak, tekrar sayisini izlemek ve gerekirse safe mode ile sistemi kullaniciya geri vermektir.

Not

Bir sonraki dogal laboratuvarlar reset reason + backup registers, stream buffer / message buffer, USB CDC + DMA / double buffer ya da FDCAN + mailbox olabilir.