Interrumpir perro guardián
El perro guardián de interrupción (perro guardián de interrupción) se utiliza para detectar si la interrupción enmascara el tiempo
Dado que la conmutación de tareas de FreeRTOS se basa en señales de interrupción, el impacto directo del tiempo de espera de la máscara de interrupción es que la tarea no se puede cambiar y el sistema se bloquea.
Las razones comunes por las que se activa el perro guardián de interrupciones son las siguientes:
- La tarea cierra la interrupción antes de ingresar al bucle while () y habilita la interrupción sin salir del bucle durante mucho tiempo
- Para ser agregado
Por CONFIG_ESP_INT_WDT_TIMEOUT_MS
los perros aumentando o disminuyendo el tiempo
Perro guardián de tareas
El temporizador de vigilancia de tareas (TWDT) se utiliza para detectar si la tarea está ocupando recursos de la CPU durante mucho tiempo
Una tarea que ocupa la CPU durante mucho tiempo hará que otras tareas no tengan posibilidad de ejecutarse, lo que provocará la falla de la función de diseño.
El perro guardián de la tarea se activa por las siguientes razones:
- No hay función de bloqueo en el ciclo while de la tarea y
vTaskDelay
- Para ser agregado
Task Watchdog predeterminado solo monitorea cada tarea inactiva de la CPU, puede esp_task_wdt_add
personalizar la tarea es agregar monitoreo