Perro guardián del sistema ESP32

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:

  1. La tarea cierra la interrupción antes de ingresar al bucle while () y habilita la interrupción sin salir del bucle durante mucho tiempo
  2. Para ser agregado

Por CONFIG_ESP_INT_WDT_TIMEOUT_MSlos 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:

  1. No hay función de bloqueo en el ciclo while de la tarea y vTaskDelay
  2. Para ser agregado

Task Watchdog predeterminado solo monitorea cada tarea inactiva de la CPU, puede esp_task_wdt_addpersonalizar la tarea es agregar monitoreo

Referencia

  1. Perros guardianes: https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-reference/system/wdts.html#watchdogs

Supongo que te gusta

Origin blog.csdn.net/qq_20515461/article/details/106291217
Recomendado
Clasificación