Artículos del sistema RTOS: programación y diseño de prioridad de tareas en un sistema de doble núcleo

Artículos del sistema RTOS: programación y diseño de prioridad de tareas en un sistema de doble núcleo

descripción general

La prioridad de las tareas la proporciona el sistema operativo. Tomando FreeRTOS en el SDK actual como ejemplo, se proporcionan un total de 25 prioridades, y cuanto mayor sea el número, mayor será la prioridad. Dado que la prioridad realmente utilizada por el usuario suele ser menor que eso, para ahorrar recursos del sistema, puede limitar el rango de la prioridad definiendo el valor de la constante del sistema.

La máxima prioridad permitida en ESP-IDF es 25:

#define configMAX_PRIORITIES                            ( 25 )

La prioridad más baja es 0 y, de forma predeterminada, la prioridad de la "tarea inactiva" se configura como la prioridad más baja.

#define tskIDLE_PRIORITY    ( ( UBaseType_t ) 0U )

El rango de prioridad recomendado para los códigos definidos por el cliente es de 0 a 15.

En el desarrollo real, debe haber una brecha en el establecimiento de prioridades de las tareas, de modo que cuando la función del sistema se amplíe en el futuro (como agregar nuevas tareas), no sea necesario ajustar la prioridad en un rango amplio.

Los principios básicos de programación de RTOS se presentan en la sección anterior de programación de tareas y tres modelos de tareas en RTOS En general, RTOS admite la programación preventiva y la programación de intervalos de tiempo.

Sin embargo, algunos ESP32 son sistemas de doble núcleo y sus reglas de programación son algo diferentes de las de FreeRTOS nativo. A continuación, se describen las reglas de programación y cómo diseñar razonablemente las prioridades de las tareas en el sistema de doble núcleo.

Programación preventiva en sistemas de doble núcleo

En FreeRTOS tradicional, cuando el programador elige una nueva tarea para ejecutar, siempre elegirá la tarea de mayor prioridad actual en el estado listo.

Supongo que te gusta

Origin blog.csdn.net/wangyx1234/article/details/128997127
Recomendado
Clasificación