FreeRtos-总结(1)

/* 最近安定下来,继续加油学习了!奋斗 */

/* 时间:2017年10月18日20:41:10 */

/* 地点:星空小蜗牛的地盘 */

/* 主题:RTOS基本知识和流程讲解 */

/* 目的:对RTOS有一个整体认识

             什么叫整体认识?

             当你想到RTOS时,会知道什么时候用,

             优点是什么?流程是怎样的?         */

目录流程
1:程序的演进
2:freeRTOS的优点
3:freeRTOS的任务切换
4:freeRTOS的可重入性
5:freeRTOS的信号量
6:freeRTOS的消息队列,时钟,状态

正文开始
1:程序的演进

从最初接触的while(1)大循环,之后加上中断。组成一个前后台的运行机制,再把前后台分离开,后台+状态机+前台处理,基本可以处理大部分的任务了
这里写图片描述
但是有一类任务,这样的方式就不可取了,要求及时响应的。如果用如上的方式处理
这里写图片描述
它会有C,D的运行时间,不能响应,可能还会出现一些意外的情况.
那么,理想的运行状态是怎样的呢?
这里写图片描述
因为有优先级和任务调试的原因,及时响应了程序,从而解决以上问题。
FreeRtos就是这样的运行状态,实时响应。
这就是FreeRtos的优点了。

2:freeRTOS的优点

  freeRTOS的整个功能大体是这样先有个概念

这里写图片描述
第一大优点上述已讲,实时响应。
优点讲完,接下来就是freeRTOS的核心的地方。怎么进行的实时响应,任务调度。那任务调试的核心是什么?任务切换,freeRTOS的任务切换可以说是MCU上寄存器的保存和载入。也叫上下文切换—存储和恢复MCU的过程
这里写图片描述
具体的过程,请搜各大APP
要让任务按照顺序执行,跟大循环相似的就是调度器了,根据任务的优先级来调度。
这里写图片描述
任务调度,有非抢占式任务,有抢占式任务。如上图
对于抢占式任务,引申出这样一个问题–>程序的可重入性
4:freeRTOS的可重入性
什么叫做可重入性?
如:taskA任务和A1程序加中断来说
在A任务执行A1时,中断发生,B任务也执行A1程序,若B任务返回后,A任务中的A1不受影响叫可重入,有影响叫不可重入。
若不理解:请查各大APP,暂停观看,以免影响阅读。

    但如果把程序影响了呢?有什么解决的办法呢?

有一种方法为进入程序A关中断,完成后开中断。
另一种方法为信号量。
5:freeRTOS的信号量
信号量具体定义请。。。。,自身理解,像唯一的一把钥匙,有任务拿走,第二个任务就不能运行了。适应用的场合就是多个任务共享同一个资源的时候,保证资源能用。

   信号量有二值信号量,加法信号量,互斥信号量。

二值信号量,就如上定义所讲,如:两人共同用一台电脑,A用的时候,B在等待。A用完之后,B才可能用。
但是这样又出现了一个问题,有个C过来了,他不想排队。所以,当A用完之后,C强行插队使用电脑了,所以B只有等C 用完之后才可以用。这个不好。
所以加一个叫优先级继承的东西,当A在用的时候,B过来了,B的优先级高,但A没用完,所以把A的优先级提升到B。当C过来,看到两个是一队的,就不说了。A用完–B—C 这样就OK。

6:freeRTOS的消息队列,时钟,状态
之后哪,把正确的消息加到队列中,根据时钟节拍,运行出去。再根据具体的任务状态,运行任务。好了
本章已结。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值