FREERTOS(入门自学)----基础知识了解

本文介绍了实时操作系统(RTOS)与裸机的区别,重点讲解了RTOS的特点如分任务、任务调度和优先级管理,以及为何选择FREERTOS作为开发工具,包括其开源性、市场接受度和易用性。此外,还涉及了任务的不同状态和优先级调度机制。
摘要由CSDN通过智能技术生成

RTOS:实时操作系统

 一:裸机与RTOS的区别

1.对于多个同级事件处理,比如做菜和烧水,对于裸机来说,你在烧水的时候必须盯着烧水,一直到水烧开后才做菜。而RTOS是在烧水的时候可以做菜,偶尔还可以看看水是否烧开。

2.对于更高级的事件到来,比如做饭做着突然着火了,裸机进入中断,灭完火,就又做菜了。而RTOS会灭完火后,还能再给自己治疗伤口什么的时间更长的事,然后再去做饭。

3.也就是说RTOS可以充分利用时间和CPU资源。

二:RTOS特点

1.分任务:一个功能可以分多个任务,每个任务都有自己独立的while

2.任务调度:任务延时函数是让出CPU资源去执行其他任务,而不是原来的Delay等待

3.任务堆栈:每个任务都有自己的堆栈,储存被打断前执行完的数据

4.抢占式:高优先级任务抢占低优先级任务

三:为什么使用FREERTOS

1.免费的使用和开源

2.市场主流

3.稳定性,安全性好

4.好用,上手简单

5.优先级不限,且数字越大,优先级越高。一个优先级下可以挂很多任务。(软件不限,硬件会限制,如STM32是0~31)

四:任务调度

1.指:利用调度算法决定执行哪个任务

2.三个调度方法:

1>抢占调度:高低优先级

2>时间调度:同级任务,到时间切换,即为一个时间片(Tick)。一个时间片等于一个滴答时钟(SysTick)中断周期。若没运行到一个Tick就阻塞,直接下一个任务,把没运行的扔了。采用时间片轮回。

3>携程式调度:(了解,不咋儿用了,渐渐被淘汰)

五:任务状态

运行态:当前只能有一个任务执行

阻塞态:任务阻塞

挂起态:任务暂停

就绪态:任务准备好要执行,只有就绪态能进入运行态

任务状态列表:除运行态,其他三种任务态都有列表

就绪列表的搜寻:对应32个优先级,若创建Task1且优先级31,bit31会置1,在搜寻时知道其中有任务创建。若优先级31中有两个及以上任务,采用时间调度的方式执行

学习来源正点原子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值