本章小结

更新于 2026年10月10日 版权声明
本章小结

FreeRTOS通过列表和列表项来管理任务,每个任务创建后,即属于一个基于优先级的任务列表pxReadyTasksLists[]。每个列表中有多个列表项,每个列表项代表一个任务,一个列表中可以有多个列表项(即多个优先级相同的任务)。列表项对应任务的优先级、列表项值(延时节拍数)、指向任务控制块指针和所属列表。

在FreeRTOS中,任务的状态有就绪态、运行态、阻塞态、挂起态,另外还有睡眠态和中断态。

FreeRTOS对任务的操作通过任务创建与任务删除、任务挂起与恢复、任务切换、任务统计、任务调度、任务延时等函数来实现。任务创建即将任务代码、任务控制块、任务堆栈通过该任务列表和列表项联系在一起。(https://www.daowen.com)

在ARM Crotex-M3中,FreeRTOS的任务调度实际是通过触发一次PendSV中断实现的,调度算法一般通过汇编程序实现。查找高优先级任务的算法有软件实现法和硬件实现法。

RTOS中的节拍定时器SysTick相当于人的心脏,在ARM Crotex-M3中通过SysTick中断来实现时钟节拍服务。可以以10 Hz~1 kHz对SysTick进行设置,频率越高功耗越大。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)