天天看點

ESP-IDF 的 WathcDog

ESP-IDF 支援兩種看門狗:Interrupt Watchdog Timer 和 Task Watchdog Timer (TWDT)。兩者都可以通過

make menuconfig

來啟用或者禁用。但是 TWDT 還可以通過程式動态啟用關閉。

Interrupt Watchdog Timer

負責保證 freeRTOS 的多任務切換中斷正常。防止出現某一個任務進入死循環一直占用 CPU ,同時又禁止了中斷,這樣其他任務就得不到響應。

該看門狗被觸發後,預設觸發

panic handler

,可以通過 GDB 等調試工具發現出現錯誤的代碼位置。

如果某些情況下,無法執行

NMI handler

(不可屏蔽中斷),則會強制重置 Soc。

TWDT

負責保證某些任務不要逾時,例如進入死循環。

繼續閱讀