资讯专栏INFORMATION COLUMN

RTOS系列——初识嵌入式实时操作系统

不知名网友 / 3220人阅读

摘要:嵌入式实时操作系统是一个特殊的程序通常称为内核,它可以创建,销毁,控制所有任务。显示处理函数运行过程中,定时器产生中断,系统进入定时器中断程序将传感器标志位置。实时操作系的子系统将再后续持续更新。

嵌入式实时操作系统是什么
嵌入式实时操作系统是一个特殊的程序,是一个支持多任务的运行环境。嵌入式实时操作系统最大的特点就是“实时性”,如果有一个任务需要执行,实时操作系统会立即执行该任务,不会有较长的延时。典型的实时操作系统有uCOS ,RT-Thread,FreeRTOS ,VxWorks,WinCE等。

嵌入式实时操作系统是一个特殊的程序(通常称为内核),它可以创建,销毁,控制所有任务。嵌入式实时操作系统除了包含一个内核以外,还提供其他服务,如文件系统,协议栈,图形用户界面等。本文的重点在于了解嵌入式实时操作系统内核的工作原理和结构,因此文中提到的实时操作系统通常指的是操作系统内核。实时操作系统内核通常要占用5%左右的CPU运行时间,另外内核是一个软件代码,需要额外占用ROM空间和RAM空间

实时性
实时性可以定义为:触发条件产生后系统的反应能力。通俗的描述就是“天下武功唯快不破”,能达到所需要的“快”就是实时,在不同的场合需要达到us级、ns级。实时系统不仅仅只表现在“快”上,更主要的是实时系统需要对触发事件在限定时间内做出反应,这个限定时间是根据实际需要来定,例如自动驾驶控制系统的规定时间要求很短,需要在极短时间内做出动作;一些农业温度控制系统的规定时间要求比较长,需要温度控制平滑稳定。

响应时间
实时性越强,其响应时间越短。响应时间是指系统识别到一个事件到开始做出响应的时间。举一个简单的例子:一个工控设备有一个急停按键开关,用户希望按下急停开关的时候系统立即将停止所有的动作,假设用户在第1.001秒时按下了急停开关,软件系统在第1.011秒时执行了停止指令,工控设备相应的机械部件在1.211秒停止动作,此时软件系统响应时间为0.01秒,设备系统响应时间为0.21秒,设备系统的响应时间和软件系统的响应时间有一定区别,通常情况下设备系统的响应时间>软件系统的响应时间。本文中提到的响应时间指的是软件系统的响应时间

再举一个通俗的例子:你在玩王者荣耀,突然发现对面打野从草丛中跑出准备gank你,从你眼睛看到,到手指点击闪现,然后到你的人物闪现到塔下。这就是响应时间,高端职业玩家可能只需要100ms即可完成整套动作,而菜鸟玩家可能需要1000ms来完成整个动作。

普通的嵌入式软件架构
普通的嵌入式软件系统通常设计成前后台结构,这个结构包含一个死循环和若干中断服务程序:应用程序是一个无限循环的代码块,循环中调用相应的函数完成相应的操作(后 台),中断程序用于处理系统的异步事件(前台)。前台称做中断级,后台称做任务级。下面是一个典型的前后台结构的代码:

上图中的代码的执行流程是:
1、判断按键标志位,若标志位为1就执行按键处理操作。
2、判断通讯标志位,若标志位为1就执行通讯处理操作。
3、执行LCD显示操作
4、判断传感器标志位,若标志位为1就执行传感器处理操作。
此代码中有3个中断函数:
1、GPIO外部中断,当按键按下后产生一个中断,中断函数中将键标志位置1。
2、串口空闲中断,当串口总线空闲时产生一个中断,中断函数中将通讯标志位置1。
3、定时器中断,每500ms周期性产生一个中断,中断函数中将传感器标志位置1。

代码执行如图所示:

分析运行图:
1、程序判断按键标志位,标志位为0,不执行按键处理函数。
2、程序判断通讯标志位,标志位为0,不执行通讯处理函数。
3、程序执行显示处理函数,此时用户按下了按键,系统进入按键中断程序将按键标志位置1,中断完成后返回显示处理函数继续运行。
4、显示处理函数运行过程中,此时串口接收完一包数据产生了一个空闲中断,系统进入串口空闲中断程序将通讯标志位置1,中断完成后返回显示处理函数继续运行。
5、显示处理函数运行过程中,定时器产生中断,系统进入定时器中断程序将传感器标志位置1。
6、显示处理函数执行完毕,程序判断传感器标志位,标志位为1,执行通讯处理函数。
7、程序判断按键标志位,标志位为1,执行按键处理函数。
8、程序判断通讯标志位,标志位为1,执行通讯处理函数。
9、无限循环…

由上述例子可知,按键标志位和通讯标志位就绪后,程序还需要等待显示函数,传感器函数执行完毕。即使是按键处理函数的紧急性再高,也需要等待其他函数执行完毕。因此就产生了响应延迟,响应延迟的时间随机的不确定的,有的时候时几毫秒的时间,有的时候是几百毫秒甚至更长(如执行传感器读取),因此需要提高系统的实时性。

实时操作系统
实时操作系可以随时剥夺正在运行任务的CPU使用权,并将CPU使用权交给进入就绪状态的最高优先级任务,使用操作系统后的运行图如下:

分析运行图:
1、低优先级的显示任务正在运行,此时用户按下了按键,系统进入按键中断程序给按键任务发送一个信号,此时按键任务进入就绪状态,中断返回时切换到按键处理任务中运行。
2、按键处理任务正在运行,此时串口接收完一包数据产生了一个空闲中断,系统进入串口空闲中断程序并给通讯处理任务发送一个信号,通讯处理任务进入就绪状态,中断返回时切换到通讯处理任务。
3、通讯处理任务执行完毕,放弃CPU使用权限,此时切换到按键处理任务。
4、按键处理任务执行完毕,放弃CPU使用权限,此时切换到显示处理任务。

由此可见,当触发产生后实时操作系将立即中断当前的任务并执行相应的任务。使用实时操作系可以极大的提高软件系统的实时性。

实时操作系统组成
实时操作系由以下3个子系统组成(以uCOS和FreeRTOS为参考对象):
1、任务调度子系统
2、任务通信子系统
3、内存管理子系统

任务调度子系统主要是维护两个链表:就绪表和等待表。切换任务时从就绪表中取出最高优先级任务;任务需要延时等待时,内核将任务中就绪表中移动到等待表中;时钟节拍任务会周期性的更新等待表,并将等待时间完成的任务从等待表中移动到就绪表中。

任务通讯子系统主要是维护一个链表:挂起表。任务需要等待信号时,内核将任务移动到挂起表中,当内核收到信号时,内核将任务从挂起表中移动到就绪表中。

内存管理子系统,内核提供了几种动态申请内存的方式,防止出现内存碎片。

实时操作系的子系统将再后续持续更新。

创作不易希望朋友们点赞,转发,评论,关注。
您的点赞,转发,评论,关注将是我持续更新的动力
作者:李巍
Github:liyinuoman2017

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/125574.html

相关文章

  • 入式系统基础知识总结

    摘要:设计一个完整的需要完成两部分工作嵌入式系统的硬件初始化和功能。片级初始化纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。是嵌入式应用软件的基础和开发平台。 一、嵌入式系统基础 1、嵌入式系统的定义 1.1  定义:以应用为中心,以计算机技术为基础,软硬件可...

    AlphaWatch 评论0 收藏0
  • 如何将RTOS系统启动时间做到“毫秒级”?AliOS Things是这样做的

    摘要:自年以来,在智能家居市场的驱动下,智能猫眼市场膨胀速度惊人。移动侦测即人体感应当有人经过门前时会自动启动拍照或者录像功能记录来访者。而实时操作系统内核小巧,对任何中断指令都可以做到马上响应,系统启动时间则只有几秒钟。 1、背景     随着人工智能的迅速发展,智能家居的时代已经到来,除了智...

    Zachary 评论0 收藏0
  • 痞子衡入式入式Cortex-M系统中断延迟及其测量方法简介

    摘要:今天痞子衡给大家分享的是系统中断延迟及其测量方法。至此,系统中断延迟及其测量方法痞子衡便介绍完毕了,掌声在哪里欢迎订阅欢迎订阅文章会同时发布到我的博客园主页主页知乎主页微信公众号平台上。  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是Cortex-M系统中断延迟及其测量方法。  在嵌入式领域里,实时性是个经常被我们挂在嘴边的概念,这里的实时性主要强调得是当外界事件发生时,...

    不知名网友 评论0 收藏0
  • Zephyr Project RTOS - 开源实时操作系统的首次功能安全认证提交

    摘要:另一方面是提供的安全程度。这解决了为功能安全而设计的绝大多数设备用例。项目已经开始致力于在开源环境中开发功能安全认证的。最后,认证将建立软件故障避免和控制措施到目标完整性水平。 showImg(https://segmentfault.com/img/bVbpvvs?w=137&h=174);作者:Amber Hibberd,博士。英特尔功能安全工程经理和Zephyr项目成员 免费的开...

    oliverhuang 评论0 收藏0
  • 发现一个非常好用的RTC(实时音视频通信)方案,做直播和视频通话都很牛

    摘要:除了一些线程调度和线程模型的调整,我们还需要进行业务逻辑上的优化,比如缩减高消耗,低反馈的业务模块,降低消耗,限制业务逻辑队列内存分配增长空间,避免某些业务场景中内存持续增长导致系统奔溃。 1、HaaS RTC背景介绍 HaaS RTC是阿里云IoT联合视频云开发的IoT设备端上的实时通...

    LeviDing 评论0 收藏0

发表评论

0条评论

不知名网友

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<