May 2020
Intermediate to advanced
496 pages
13h 54m
English
The Suspended state is a bit of a special case since it requires explicit FreeRTOS API calls to enter and exit. Once a task enters the Suspended state (via the vTaskSuspend() API call), it is effectively ignored by the scheduler until the vTaskRusme() API call is made. This state causes the scheduler to effectively ignore the task until it is moved into the Ready state by an explicit API call. Just like the Blocked state, the Suspended state will not consume any processor time.
Now that we understand the various task states and how they interact with different parts of the RTOS, we can learn how to optimize an application so that it makes efficient use of tasks.