Question about functioning of vTaskSuspend and vTaskDelete
Posted by
lagavulin18 on July 27, 2014
My task terminate- and suspend function must comply to the following definitions:
Definition: terminate
All resources occupied by the terminated task (including processor) are withdrawn from it. Synchronization variables blocked by the task, however, are not released automatically.
Definition: suspend
The processor allocated to it is withdrawn from it, but not all the other resources
occupied by it. A suspended task can only be continued by executing a continue (vTaskResume) statement.
In my opinion I could realize “terminate” with vTaskDelete() and “suspend” with vTaskSuspend(). Any other opinions?
Further reading: 9.2.3/9.2.4
http://www.real-time.de/misc/PEARL90-LanguageReport-V2.2-GI-1998-eng.pdf
Question about functioning of vTaskSuspend and vTaskDelete
Posted by
rtel on July 28, 2014
In FreeRTOS, when a task is deleted the memory allocated to the task by the RTOS is automatically freed – but any resources allocated to the task by the application must be freed by the application. When a task is suspended it will not run until another task unsuspends it, but no resource allocation is modified at all.
Regards.