FreeRTOS-基础知识

简介

FreeRTOS是一个免费的嵌入式实时操作系统

免费开源---商业产品中使用,五千在商业风险,无需担心

可裁剪---FreeRTOS的核心代码9000+行,包含在3个c文件中

简单---简单易用,可移植性非常好

优先级不限---任务优先级分配没有限制,多任务可同一优先级

任务不限---可创建的实时任务数量没有软件限制

抢占/协程/时间片---支持抢占式,协程式、时间片流转任务调度

资料整理

1.FreeRTOS官网:https://www.freertos.org/ 英文 文档较少

2.正点原子学习资料 教程文档 程序源码 视频资料

基础知识

任务调度简介

抢占式调度:主要针对优先级不同的任务,每个任务都有一个优先级,优先级高的任务可以抢占优先级低的任务

时间片调度:主要针对优先级相同的任务,当多个任务的优先级相同时,任务调度器会在每一次系统时间节拍到的时候切换任务

协程式调度:当前执行任务将会一直执行,同时高优先级的任务不会抢占低优先级任务,FreeRTOS现在虽然还支持,但是官方已经表示不在更新协程式调度

任务状态

运行态:正在执行的任务,该任务就处于运行态,注意在STM32中,同一时间仅一个任务处于运行态

就绪态:如果该任务已经能够被执行,但当前还未被执行,那么该任务处于就绪态

阻塞态:如果一个任务因延时或等待外部事件发生,那么这个任务就处于阻塞态

挂起态:类似暂停,调用vTaskSuspend()挂起状态,需要调用解挂函数vTaskResume()才可以进入就绪态

仅就绪态可以转变成运行态

其他状态的任务想运行,必须先转变为就绪态

FreeRTOS中无非就四种状态,运行态,就绪态,阻塞态,挂起态

这四种状态中,除了运行态,其他三种任务状态的任务都有其对应的任务状态列表

就绪列表:pxReadyTasksListsx,其中x代表任务优先级数值

阻塞列表:pxDelayedTaskList

挂起列表:xSuspendedList

相关推荐
cu14325 分钟前
细谈IT6653的具体功能与其应用
c语言·c++·单片机·嵌入式硬件
额额额对了1 小时前
【项目实战】从IMX6ULL环境监测到N647 AI视觉加速
linux·开发语言·嵌入式硬件
三佛科技-134163842122 小时前
微针美容仪数显方案开发案例,微针美容仪方案单片机选择(FT62F23X,FT62F288-LRB,FT32A072)
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
天空'之城2 小时前
单片机基础核心知识点汇总(四十九)
单片机·嵌入式硬件
硅基造物主3 小时前
STM32 从 0 到 1 做智能家居(九):按键消抖与三模式状态机
stm32·单片机·嵌入式硬件·cubemx·智能家居
小飞侠123!3 小时前
Simplicity Studio v5 IDE添加SDK失败如何处理?
嵌入式硬件
国科安芯3 小时前
从点火到入轨的毫秒尺度:商业运载火箭飞行时序控制中的抗辐射MCU可靠性边界—— 面向短时高可靠任务的单粒子效应证据与架构分析
网络·人工智能·单片机·嵌入式硬件·架构·火箭·抗辐射
吠品3 小时前
78B 只激活 3.46B,Kolibri 给模型选型上了一课
人工智能·单片机·嵌入式硬件
恒锐丰科技林技术员3 小时前
大电流同步降压 DC‑DC 芯片 EG11732 解析
经验分享·嵌入式硬件·硬件工程
路上有只喵3 小时前
认识元器件 · 单片机(MCU/MPU/SOC) · 规格书解读1
单片机·嵌入式硬件