微控制器实时操作系统实践—了解RTOS任务

什么是RTOS系统

分类: 电脑/网络 >> 操作系统/系统故障
解析:

实时多任务操作系统(RTOS)1.实时多任务操作系统(RTOS)

(1)更加面向硬件系统,而不是操作者

嵌入式系统处理器一般都是独立工作的,没有人的直接参与;即使参与,也没有大量的文字信息输出,这是和桌面计算机有所不同的。因此RTOS着重面向的是硬件,而不是具有完整的人机界面。

(2)实时性

单片机系统的监测、控制、通信等工作都要求实时性,一旦出现有关情况,CPU能够及时响应,刻不容缓。为此,一个实用的RTOS都应具有完善的中断响应机制,保证中断响应潜伏时间足够短。

(3)多任务

半导体技术的发展和应用复杂性的增长促使CPU的处理能力越来越高,当今的一片16位或32位单片机,在运算速度、寻址能力等方面可以相当于8位单片机的几十片之和。在这样强大的处理器上运行应用程序,必然不是整块,而是根据所要实现的若干方面功能,划分为数个任务,这样有利于软件的开发和维护。

因此单片机系统中采用的RTOS必然是支持多任务的,并能够根据各个任务的轻重缓急,合理地在它们之间分配CPU和各种资源的占用时间。

(4)不同的典型外设驱动支持

单片机的典型片内外设为定时器、A/D、PWM、D/A、串行口、LCD/LED接口,CAN-bus、IC-bus等。根据处理器类型的不同,RTOS在出厂时一般附带若干上面硬件接口的驱动程度,而网卡等片外设备的驱动程序,以及其它一些高级驱动函数,如兼容DOS的文件系统、TCP/IP协议等,则需要另行选购。以RTOS为基础和接口标准,可以设计出大量的库函数驱动模块,并根据实际需要选择或裁剪。

(5)高可靠性

一般计算机的操作系统出现问题,例如死机,除数据丢失等外,不会有太大的问题;而单片机系统一般都是和工业控制、交通工具、医用器械等机电系统密切相关,不适当的输出甚至不及时的输出都可能会带来财产损失和安全问题。因棚悔此嵌入式系统中的RTOS要求高可靠性,发行之前必须经过严格的测试。这是一个耗费时间和精力的过程,也是RTOS价格普遍高于一般操作系统的原因之一。

2.RTOS是一个内核

典型的单片机程序在程序指针复位后,首先进行堆栈、中断、中断向量、定时器、串行口等接口设置、初始化数据存储区和显示内容,然后就来到了一个监测、等待或空循环,在这个循环中,CPU可以监视外设、响应中断或用户输入。

这段主程序可以看作是一个内核,内核负责系统的初始化和开放、调度其它任务,相当于C语言中的主函数。

RTOS就是这样的一个标准内核,包括了各种片上外设初链虚正始化和数据结构的格式化,不必、也不推荐用户再对硬件设备和资源进行直接操作,所有的硬件设置和资源访问都要通过RTOS核心。硬件这样屏蔽起来以后,用户不必清楚硬件系统的每一个细节就可以进行开发,这样就减少了开发前的学习量。

一般来说,对硬件的直接访问越少,系统的可靠性越高。RTOS是一个经过测试的内核,与一般用户自行编写的主程序内核相比,更规范,效率和可靠性更高。对于一个精通单片机硬件系统和编程的“老手”而言,通过RTOS对系统进行管理可能不如直接访问更直观、自由度大,但是通过RTOS管理能够排除人为疏忽因素,提高软件可靠性。

另外,高效率地进行多任务支持是RTOS设计从始至终的一条主线,采用RTOS管理系统可以统一协调各个任务,优化CPU时间和系统资源的分配,使之不空闲、不拥塞。针对某种具体应用,精细推敲的应用程序不采用RTOS可能比采用RTOS能达到更高的效率;但是对于大多数一般用户和新手而言,采用RTOS是可以提高资源利用率的,尤其是在片上资源不断增长、产品可靠性和进入市场时间更重要的今天。

3.RTOS是一个平台

RTOS建立在单片机硬件系统之上,用户的一切开发工作都进行于其上,因此它可以称作是一个平台。采用RTOS的用户不必花大量时间学习硬件,和直接开发相比起点更高。

RTOS还是一个标准化的平台,它定义了每个应用任务和内核的接口,誉春也促进了应用程序的标准化。应用程序标准化后便于软件的存档、交流、修改和扩展,为嵌入式软件开发的工程化创造了条件、减少开发管理工作量。嵌入式软件标准化推广到社会后,可以促进软件开发的分工,减少重复劳动,近来出现的建立于RTOS上的文件和通信协议库函数产品等就是实例。

RTOS对于开发单位和开发者个人来说也是一种提高。引入RTOS的开发单位,相当于引入了一套行业中广泛采用的嵌入式系统应用程序开发标准,使开发管理更简易、有效。基于RTOS和C语言的开发,具有良好的可继承性,在应用程序、处理器升级以及更换处理器类型时,现存的软件大部分可以不经修改地移植过来。

对于开发人员来说,则相当于在程序设计中采用一种标准化的思维方式,提高知识创造的效率;同时因为具有类似的思路,可以更快地理解同行其它人员的创造成果。

4.RTOS产生并得到迅速发展的原因

单片机处理器能力的提高和应用程序功能的复杂化、精确化,迫使应用程序划分为多个重要性不同的任务,在各任务间优化地分配CPU时间和系统资源,同时还要保证实时性。靠用户自己编写一个实现上述功能的内核一般是不现实的,而这种需求又是普遍的。在这种形势之下,由专业人员编写的、满足大多数用户需要的高性能RTOS内核就是一种必然结果了。

对程序实时性和可靠性要求的提高也是RTOS发展的一个原因。此外,单片机系统软件开发日趋工程化,产品进入市场时间不断缩短,也迫使管理人员寻找一种有利于程序继承性、标准化、多人并行开发的管理方式。从长远的意义上来讲,RTOS的推广能够带来嵌入式软件工业更有效、更专业化的分工,减少社会重复劳动、提高劳动生产率。

5.RTOS的基本特征

(1)任务

任务(Task)是RTOS中最重要的操作对象,每个任务在RTOS的调用下由CPU分时执行。激活的或当前任务是CPU正在执行的任务,休眠的任务是在存储器中保留其执行的上下文背景、一旦切换为当前任务即可从上次执行的末尾继续执行的任务。任务的调度目前主要有时间分片式(TimeSlicing)、轮流查询式(Round-Robin)和优先抢占式(Preemptive)三种,不同的RTOS可能支持其中的一种或几种,其中优先抢占式对实时性的支持最好。

(2)任务切换

RTOS管理下的系统CPU和系统资源的时间是同时分配给不同任务的,这样看起来就象许多任务在同时执行,但实际上每个时刻只有一个任务在执行,也就是当前任务。任务的切换有两种原因。当一个任务正常地结束操作时,它就把CPU控制权交给RTOS,RTOS则检查任务队列中的所有任务,判断下面那个任务的优先级最高,需要先执行。另一种情况是在一个任务执行时,一个优先级更高的任务发生了中断,这时RTOS就将当前任务的上下文保存起来,切换到中断任务。RTOS经常性地整理任务队列,删除结束的任务,增加新的要执行任务,并将其按照优先级从大到小的顺序排列起来,这样可以合理地在各个任务之间分配系统资源。

(3)消息和邮箱

消息(Message)和邮箱(Mailbox)是RTOS中任务之间数据传递的载体和渠道,一个任务可以有多个邮箱。通过邮箱,各个任务之间可以异步地传递信息,没有占用CPU时间的查询和等待。当RTOS包含片上总线接口驱动功能时,各个单片机之间的通信也通过邮箱的方式来进行,用户并不需要了解更深的关于硬件的内容。

(4)旗语

旗语(Semaphore)相当于一种标志(Flag),通过预置,一个事件的发生可以改变旗语。一个任务可以通过监测旗语的变化来决定其行动,在监测旗语变化的时候不消耗CPU时间,旗语对任务的触发是由RTOS来完成的。通过使用旗语,一个任务在等待事件变化的时候就可以不必不断查询,而把CPU时间出让给其它任务。

(5)存储区分配

RTOS对系统存储区进行统一分配,分配的方式可以是动态的或静态的,每个任务在需要存储区时都要向RTOS内核申请。RTOS通过使用存储分配类核心对象管理数据存储器,在动态分配时能够防止存储区的零碎化。

(6)中断和资源管理

RTOS提供了一种通用的设计用于中断管理,有效率而灵活,这样可以实现最小的中断潜伏时间和最大的中断响应度。RTOS内核中的资源对象类则实现了对系统实体资源或虚拟资源的独占式访问,一个任务可以取得对资源的唯一访问权,其它任务在资源释放以前无法访问,这样可以避免资源冲突。设计完善的RTOS具有检查可能导致系统死锁的资源调用设计。

上面是RTOS的基本特征。根据产品的不同,它可能还包含许多其它功能。

6.你的处理器是不是需要一套实时多任务操作系统?

RTOS是目前嵌入式系统领域的热点之一,是流行的开发平台,但它毕竟对于许多用户来说还是昂贵的,还会大量改变用户习惯的开发方式,因此在引入RTOS以前对必要性进行考察还是明智的。你可以思考下面的几个问题:

(1)你的处理器控制的时间和方式和你预想的一样吗?

(2)你是否发现自己花费很多时间盘算怎样使一段代码在该执行的时候执行?

(3)你是否花费太多时间在中断子程序上,知道主程序不可能顺序地处理中断事件,便试图编出所有代码来处理中断事件?

(4)你是否发现自己在不断地测试标志或调用测试标志的子程序,来判断是否应当执行一段子程序?

如果你对上面问题的回答有一个以上是肯定的话,那么就是到了需要一套实时多任务操作系统将你从编程的琐碎中解脱出来的时候了。

8.目前有什么样的RTOS?

当你在电子杂志上寻找RTOS的时候,可能会发现世界上研制RTOS产品的公司多得令你无所适从;但是仔细阅读后会发现,它们的产品可能只覆盖几种处理器,而且是你所不熟悉的。目前产品比较全面的公司主要有美国的CMXCompany和EmbeddedSystemProducts(ESP),Inc.,它们对中国单片机工业流行的单片机,如8051,251,196/296,P51XA,68xxx等都有RTOS及其相关的接口库函数产品,提供源程序代码,没有每个产品的二进制版税。其中CMX公司的产品价格略低,较适合中国市场;而ESP公司的产品则有较丰富的库函数支持

什么是嵌入式技术

嵌入式技术是指将计算机技术融入到各种应用领域。

如家用电器、汽车、航空航天、医疗设备、工业自动化等领域中,并以特定的功能需求为导向,开发出基于微处理器、微控制器等嵌入式系统的技术和产品。嵌入敬坦式系统通常有较严格的星政功耗、安全、实时性等要求,开发人员需要设计适合具体应用场景的硬件和软件,并对系统进行优化和测试,使之具有较高来自的可靠性、稳定性和实用性。

微控制器实时操作系统实践—了解RTOS任务

嵌入式技术的优势在于其能够在各种应用场景下灵活运用,可以为人们带来更多的便利和智能化服务。例如,智能家居系统、智能车载设备、智能医疗设备等,都是嵌360问答入式技术在不同领域的应用。嵌入式技术与人们的生活息息相关,已经成为了一个脊稿睁重要万令乐为权持握的行业和研究领域。未弱房把类来随着物联网和人工智能的发展,嵌入式技术的应用范围和发展前景也将排板答怕与武乙会更加广阔和远大。

嵌入式技术涉及多个层面的知识和技能,包括计算机硬件、操作系统、微处理器、微控制器、传感器、通信协议、嵌入式软件等。其中,嵌入式软件的开发是嵌入式技术中的重要环节,需要掌握C语言、汇编语言等编程语言,以及嵌入式操作系统或实时操作系统(RTOS)的使用和应用。

同时,嵌入式技备将存斯各班准在持载术的开发还需要具备一定的硬件设计和电子技术知识,才能有效地解决实际问题。在硬件设计方面,开发人员需要掌握电路设计、模拟与数字信号处理等技能,并考虑硬件成本、功耗、尺寸等因素。在电子技术方面,了解各种传感器、执行器、显示屏等电子器件的特性和应用也非常重要。

总之,嵌入委为结伟跳买式技术具有广泛的应用前景和重要的社会意义。由于应用场景不同,各自的技术难点和关注点也不同,需要专业人员不断研究技术和创新实践,才能推动嵌入式技术的进一步发展和应用

微控制器实时操作系统实践—了解RTOS任务

嵌入式技术的应用

1、汽车行业:嵌入式系统已经成为樱岁了汽车的重要组成部分,例如发动机控制单元、车载娱乐系统、车载导航和通信设备等。这些系统可以为驾驶员和乘客提供更加便利、安全和智能化的服务,也可以提高车辆的性能和节能环保能力。

2、工业自动化:嵌入式技术可以帮助实现生产回岁阶苦流程的自动化,其中包括各种传感器、执行器和机械设备的控制,以及生产数据的采集和监控。嵌入式系统的应用可以大大提高生产线的道讲效率、减少故障和节省人力成本。

3、家电和家居破己项律绍更终种怕系统:智能家居和智能家电已经成为了近年来的热门话题。嵌入式技术可以使电器设备之间实现互联互通,例如智能照明降在其烟害高互更系统、智能门锁和智能家电,律单车源业断也可以帮助实现家庭安防、环境监测和自动化控制等

4、医疗设备:医疗设备的研发和生产中,嵌入式技术已经成为了不可或缺的一部分。嵌入式系统可以控制各种医用亮沙参发仪器的运行和数据采集,例如体温计、血糖仪、心电图仪、呼吸机等。这些设备的使用可运认孩鸡目计打以提高诊断的准确性、题美边马称么独毛还推块缩短治疗时间和降低医疗风险。

5、通信和网络设备:嵌入护故盟力住械界衣别准往式技术可以帮助实现各种通信和网络设备告乐景批言早世的控制和管理,例如路由器、调制解调器、交换机、集线器等。这些设备的应用可以提供更稳定、安全和高速的数据传输服务。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。IC梦工场仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 tenspace2022@163.com 举报,一经查实,本站将立刻删除。 本文链接:https://xinpianshijie.com/zixun/30670.html

(0)
上一篇 2023年 7月 26日 上午1:29
下一篇 2023年 7月 26日 上午1:40

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注