嵌入式学习笔记 - freeRTOS关于空闲任务的理解

由于freeRTOS的任务延时都是阻塞延时,阻塞延时是当任务进入延时后,该任务的CPU使用权被剥夺进入阻塞状态(阻塞状态可以理解为保持状态不变),可以理解为任务不运行时PC停止了。使用阻塞延时的好处就是可以让CPU充分的得到利用,不会空耗在软件延时上。

但是所有任务都处在阻塞延时时,相当于PC停止了,很明显这是不合理的,而且会产生硬件错误,所以会有一个空闲任务,作为保底空闲任务的优先级是最低的。

而且在freeRTOS中空闲任务还赋予了很多其他的必不可缺的功能。空闲任务是 FreeRTOS 内存管理、低功耗、稳定调度及功能扩展的核心支撑组件,其缺失将直接导致系统不可用。FreeRTOS 通过强制创建机制避免人为删除空闲任务,开发者仅能通过钩子函数扩展其功能,不可禁用。

你可能感兴趣的:(嵌入式,stm32)