天天看点

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

负责保证某些任务不要超时,例如进入死循环。

继续阅读