1 idle task的创建
idle task
,顾名思义,就是在系统空闲,也即没有任何任务就绪的情况下执行的任务。为什么需要idle task
呢,就我的理解来看,RTOS(不仅限于freeRTOS)跑起来之后,某个固定的时刻要么在中断上下文,要么在任务上下文(这里不考虑更复杂支持特权分离的操作系统)。如果没有idle task
,那么在所有task都处于非就绪态时,RTOS的调度器将陷入没有task可调度的困境。
idf在启动阶段会进行一系列的初始化,并最终启动freeRTOS。这里我们主要关注的是idle task
的创建,因此不深入启动的细节,仅看一下脉络: