FreeRTOS 操作系统学习
http://wiki.csie.ncku.edu.tw/embedded/FreeRTOS_Melot.pdf
1. 任务
1.1 FreeRTOS 中的任务
只要硬件和内存足够,FreeRTOS 运行的任务数量不受限制,作为一个实时操作系统,FreeRTOS 同时支持循环和非循环任务。在 RTOS 中,任务由一个简单的C函数定义,参数为 void* 类型,无返回值 (void)。
用些函数用于对任务的管理 : 任务创建(vTaskCreate()),任务销毁((vTaskDelete()),优先级管理(uxTaskPriorityGet(), vTaskPrioritySet()) 延迟/恢复((vTaskDelay(), vTaskDelayUntil(),vTaskSuspend(), vTaskResume(),vTaskResumeFromISR())
为了便于调试,用户可以选择很多操作,例如创建关键序列或对任务进行监控。、
1.1.1 任务的生命周期
本节更详细地讲解任务从创建至销毁的整个发展过程。此时,我们假设只有一个内核,在指定的时间内只运行一个任务,每个人物只有“ 运行 (Running) ” “ 不运行 (Not Running) ”两种状态,由于我们假设是单核运行,且任意时刻有且只有一个任务在运行,那么其他的未运行的任务一定是处于“不运行 (Not Running)”状态. 图1