您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 2.四种常用嵌入式RTOS的比较与选择
四种常用嵌入式RTOS的比较与选择华南理工大学自动化系一:综述1.嵌入式系统与嵌入式操作系统2.嵌入式操作系统的特点3.实时操作系统(RTOS)4.四种常用的嵌入式RTOS1.嵌入式系统与嵌入式操作系统简介嵌入式系统是以嵌入式计算机为技术核心,面向用户、面向产品、面向应用,软硬件可裁减的,适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机系统。嵌入式操作系统EOS(EmbeddedOperatingSystem),负责嵌入系统的全部软、硬件资源的分配、调度,控制、协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。一:综述2.嵌入式操作系统的特点①可装卸性。开放性、可伸缩性的体系结构。②强实时性。EOS实时性一般较强,可用于各种设备控制当中。③统一的接口。提供各种设备驱动接口。④操作方便、简单、提供友好的图形GUI。⑤提供强大的网络功能。支持TCP/IP协议及其它协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。⑥强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的EOS具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。⑦固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统。⑧更好的硬件适应性。也就是良好的移植性。一:综述3.实时操作系统(RTOS)RTOS与其他操作系统不同的一个特征是:它们必须至少有一个中断,其服务能保证在一个给定的时间内完成,而不论是否发生其他事情。一:综述4.四种常用的嵌入式RTOSRT-LinuxQNXVxworksNucleus二:如何选择嵌入式实时操作系统?1.实时操作系统对我来说真的必要吗?2.工具的相互关系3.RTOS的选择准则4.内核要求的最小存储器大小5.性能6.软件组件和设备驱动程序7.调试工具8.标准兼容性9.技术支持10.源代码还是目标代码?11.许可12.声誉1.实时操作系统真的必要吗?为什么需要实时操作系统?对于商用多任务OS,其目的是方便用户管理计算机资源,追求系统资源最大利用率;而RTOS追求的是实时性、可确定性、可靠性。二:如何选择RTOS微处理器、在线仿真器(ICE)、编译器、汇编器、连接器、调试器以及模拟器都这样或那样地影响着操作系统。在线仿真器(ICE)和良好的集成开发环境对嵌入式开发有至关重要的作用。2.工具的相互关系二:如何选择RTOS3.RTOS的选择准则评价与选择一个实时操作系统一般可以从任务调度、内存管理、任务通讯、内存开销、任务切换时间、最大中断禁止时间等几个方面来衡量。(1)任务调度机制:RTOS的实时性和多任务能力在很大程度上取决于它的任务调度机制。(2)内存管理:分实模式与保护模式。(3)最小内存开销:RTOS的设计过程中,最小内存开销是一个较重要的指标,它涉及到嵌入式的成本。(4)最大中断禁止时间:(5)任务切换时间:4.内核要求的最小存储器大小实时操作系统可以装入小得令人惊讶的内存中。最小的内核经常是仅仅支持很少的特性,而典型的配置可能产生大得多的内核。一般情况下,供应商可以提供一份详细的列表,说明了创建包含不同服务的内核分别需要多大的RAM和ROM。二:如何选择RTOS5.性能对所有的项目来说,性能无不是个大问题。但是要了解RTOS对系统的影响却不那么容易。当比较供应商提供的benchmark时要明白他们是要测试什么?供应商使用的是什么评估板?微处理器的时钟频率是多少?使用的什么存储系统?存储器访问使用了几个等待周期?只有弄清楚了这些才能作出公平的对比。6.软件组件和设备驱动程序嵌入式系统应该通过各种标准加大开发需求的互操作性,开发者可能要依赖于他人开发的组件。若应用需要通信协议、服务、库或者其他组件(如TCP/IP、HTTP、ftp、telnet、SNMP、CORBA和图形),从哪里获得它们得事先弄清楚。不同操作系统供应商提供这些特性或驱动程序的方式可能不同,有的作为操作系统的一部分,有的作为可选配件。二:如何选择RTOS7.调试工具一个良好的集成开发环境和调试工具有助于开发者提高开发速度、发现开发中的错误(如死锁、忘了放信号灯)等。8.标准兼容性标准兼容性好的RTOS利于别的开发软件的移植。RTOS服务有一个POSIX标准。10.技术支持技术支持包含哪些内容:培训、文档、电话和电子支持等?这对RTOS上开发很重要,良好的技术支持可以使开发者少走很多弯路。二:如何选择RTOS11.源代码还是目标代码?有些供应商提供给全部源代码。而其他的仅提供目标代码。这两种方式都能开发出优秀的产品。对那些没有源代码的来说,也不必担心无法配置内核。供应商会在头文件中给出必要的常量使开发者可以根据需要微调内核。12.许可购买某些高级的RTOS属于重大的商业事务,有许多费用要考虑。有的供应商一次性地收取一大笔费用,而有的供应商的收费遍及每用户、每平台、每产品、每位置。这需要了解清楚。二:如何选择RTOS13.声誉还有一点是要了解该RTOS供应商的声誉。如:技术支持如何?稳定的商务活动开始多久了?公司有多少职员?供应商的网站上有有价值的信息吗?这种RTOS在哪个行业表现最好?公司的质量系统状况如何?公司通过了ISO9001认证吗?三:四种嵌入式RTOS各自的特点弄清了以上的一些问题之后,初步得到了一个选择的依据。下面,在这个依据的基础上,把Linux,QNX,Vxworks和Nucleus这四种嵌入式RTOS各自的特点和各种性能指标作一个罗列,从而达到对它们有个大致的了解。提纲:(一)开发环境及其工具(二)RTOS的性能指标(三)内核(四)软件组件和设备驱动程序(五)硬件支持(六)标准兼容性(七)技术支持(八)源代码还是目标代码(九)价格,许可,声誉综合评价。Linux(一)开发环境及其工具Linux有着非常优秀的完整开发工具链,有十几种集成开发环境,其中很多是免费的,大大降低了开发费用。右图是一个典型的嵌入式Linux开发环境,它包括主机(工作站或者PC)支持GDB的调试工具,目标板和网络。oLinux的特点除了硬件环境外,还需要软件开发环境。基于Linux的开发环境主要包括主机上的Linux操作系统,比如RedHatLinux。上图是嵌入式Linux开发流程图。一般的开发过程是,设计目标板,建立嵌入式Linux开发环境,编写、调试BootLoader;编写、调试Linux内核;编写、调试应用程序;编写、调试BSPBoardSupportPackage)。BootLoader用于初始化目标板,检测目标板和引导Linux内核。BDM/JTAG用于目标板开发,它可以检测目标板硬件,初始化目标板,调试BootLoader和BSP。(二)RTOS的性能指标1.Linux本身不是实时的操作系统。RT-Linux在Linux的基础上打包实现Linux的实时性。2.RT-Linux实现了一个小的实时核心,仅支持底层任务创建、中断服务例程的装入、底层任务通信队列、中断服务例程(ISR)和Linux进程。原来的非实时Linux核心作为一个可抢先的任务运行于这个小核心之上,所有的任务都在核心地址空间运行。它不同于微内核和大型内核,属于实时体系结构。其可靠性和可维护性对电信服务系统来说都不够理想,但应用于相对小的嵌入式系统性能还行。3.调度策略RT-Linux在操作系统之下实现了一个简单的实时核心,Linux本身作为一个可抢占的任务在核内运行,优先级最低,随时会被高优先级任务抢占。oLinux的特点(三)内核+----------------------------------+--------+|应用程序层(ApplicationLayout)|级别=3|+----------------------------------+--------+|服务器层(Deamon/ServerLayout)|=2|+----------------------------------+--------+|设备驱动层(DriversManager)|=1|+----------------------------------+--------+|进程管理层(ProcessManager)|=0|+----------------------------------+--------+|硬件(裸机)||+----------------------------------+--------+oLinux的特点Linux采用的是带保护的平行内核体系(见上图)。其优点是:(1)采用平行内核,因为各层次间以及同层次间的实现比较独立,这种体系的稳定性就要好的多,如果一个子系统崩溃,系统一般不会全部瘫痪;(2)可以更容易地添加新服务模块,Linux甚至无须重新启动。缺点是:(1)当高层模块(如加减设备,服务器时)更新时,往往更新了特权任务表的内容,所以内核需要重新编译.(2)这种体系的底层代码和硬件直接关联,且功能越强,这种关联越紧,再加上核心比微内核体系要大得多,所以移植也要费事。(四)软件组件和设备驱动程序Linux具有完善的网络通讯、图形、文件管理机制。网络是Linux的强项,Linux还支持多种文件和图形系统。同时,Linux上的驱动已经非常丰富了,它们支持各种主流硬件设备和最新硬件技术。Linux的系统服务:近来,很多基于Linux的实时应用被开发出来,它具有成熟和丰富的资源。*UNIX用户的开发工具和应用软件都可移植到Linux上。*TCP/IP网络协议。*各种Internet客户/服务端软件。*XWindow。*C/C++、Java等语言编译器。oLinux的特点(五)硬件支持:支持多种体系结构,如X86、ARM、MIPS、ALPHA、SPARC等目前,Linux已经被移植到数十种硬件平台上,几乎支持所有流行的CPU。oLinux的特点(六)标准兼容性:Linux可作为一个嵌入式操作系统,它支持POSIX.1b标准。(七)技术支持Linux具有开放性:(1)用户可得到UNIX的全部开发工具。(2)可使用市场上便宜又常见的硬件。oLinux的特点(八)源代码还是目标代码Linux是源代码完全公开的。Linux的内核映像bzImage.bin大小为569,764大小。加上其他应用程序,其大小可在2M左右。(九)价格,许可,声誉:Linux的最大优势便是经济,免费,源代码公开,是最吸引人的。毫无疑问,这会节省大量的开发费用。同时,它也可以随意地配置不需要任何的许可证或商家的合作关系。市场上的带有Linux的2410评估板已经大量出现,据目前情况所了解,合肥市的华恒科技公司的评估板需:2,500元,内带Linux操作系统,评估板中有USB接口,以太网接口,串口和3.5寸64K色彩屏,提供底板的原理图。同康科技公司的评估板需:9,600元,配置和华恒公司的类似,带有Linux操作系统,并提供全部电路原理图。oLinux的特点综合评价:正如上所述,Linux最大的优势经济,免费,源代码公开,可以节省大量的开发费用,并且,它本身内置网络支持,高度的模块化使添加部件非常容易。Linux在中国蓬勃发展起来,基于Linux的嵌入式评估板具有价格低、可选性强、技术支持多样化等优点。同时Linux的评估板集中了各种各样的资源,如网口、液晶屏、触摸屏,USB口的驱动等。选择2410的嵌入式Linux软件开发平台和OEM板。可以帮助我们在应用项目立项前,评估项目的可行性。在应用项目立项后,使软件开发和硬件开发同步进行。极大地缩短应用产品开发周期。缺点:开发工具和开发环境不尽人意,如单步仿真,这增加开发的难度。oLinux的特点QNX(一)开发环境及其工具QNX
本文标题:2.四种常用嵌入式RTOS的比较与选择
链接地址:https://www.777doc.com/doc-3104404 .html