当前位置首页 > 计算机 > 嵌入式开发
搜柄,搜必应! 快速导航 | 使用教程

常用嵌入式RTOS的比较与选择

文档格式:PPT| 48 页|大小 278.49KB|2024-12-10 发布|举报 | 版权申诉
第1页
第2页
第3页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 48
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 单击此处编辑母版标题样式,单击此处编辑母版文本样式,*,四种常用嵌入式RTOS的比较与选择,华南理工大学自动化系,一:综述,1.嵌入式系统与嵌入式操作系统,2.嵌入式操作系统的特点,3.实时操作系统(RTOS),4.四种常用的嵌入式RTOS,1.嵌入式系统与嵌入式操作系统简介,嵌入式系统是以嵌入式计算机为技术核心,面向用户、面向产品、面向应用,软硬件可裁减的,适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机系统嵌入式操作系统EOS(Embedded Operating System),负责嵌入系统的全部软、硬件资源的分配、调度,控制、协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能一:综述,2.嵌入式操作系统的特点,可装卸性开放性、可伸缩性的体系结构强实时性EOS实时性一般较强,可用于各种设备控制当中统一的接口提供各种设备驱动接口操作方便、简单、提供友好的图形GUI提供强大的网络功能支持TCP/IP协议及其它协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口强稳定性,弱交互性嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的EOS具有较强的稳定性。

    嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务固化代码在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统更好的硬件适应性也就是良好的移植性一:综述,3.,实时操作系统(RTOS),RTOS与其他操作系统不同的一个特征是:它们必须至少有一个中断,其服务能保证在一个给定的时间内完成,而不论是否发生其他事情一:综述,4.四种常用的嵌入式RTOS,RT-Linux,QNX,Vxworks,Nucleus,二:如何选择嵌入式实时操作系统?,1,实时操作系统对我来说真的必要吗?,2,工具的相互关系,3,RTOS的选择准则,4,内核要求的最小存储器大小,5,性能,6软件组件和设备驱动程序,7,调试工具,8,标准兼容性,9技术支持,10源代码还是目标代码?,11许可,12声誉,1.实时操作系统真的必要吗?,为什么需要实时操作系统?,对于商用多任务OS,其目的是方便用户管理计算机资源,追求系统资源最大利用率;而RTOS追求的是实时性、可确定性、可靠性。

    二:如何选择,RTOS,微处理器、在线仿真器(ICE)、编译器、汇编器、连接器、调试器以及模拟器都这样或那样地影响着操作系统在线仿真器(ICE)和良好的集成开发环境对嵌入式开发有至关重要的作用2工具的相互关系,二:如何选择,RTOS,3RTOS的选择准则,评价与选择一个实时操作系统一般可以从任务调度、内存管理、任务通讯、内存开销、任务切换时间、最大中断禁止时间等几个方面来衡量1)任务调度机制:,RTOS的实时性和多任务能力在很大程度上取决于它的任务调度机制2)内存管理:分实模式与保护模式3)最小内存开销:,RTOS的设计过程中,最小内存开销是一个较重要的指标,它涉及到嵌入式的成本4)最大中断禁止时间:,(5)任务切换时间:,4内核要求的最小存储器大小,实时操作系统可以装入小得令人惊讶的内存中最小的内核经常是仅仅支持很少的特性,而典型的配置可能产生大得多的内核一般情况下,供应商可以提供一份详细的列表,说明了创建包含不同服务的内核分别需要多大的RAM和ROM二:如何选择,RTOS,5性能,对所有的项目来说,性能无不是个大问题但是要了解RTOS对系统的影响却不那么容易当比较供应商提供的benchmark时要明白他们是要测试什么?供应商使用的是什么评估板?微处理器的时钟频率是多少?使用的什么存储系统?存储器访问使用了几个等待周期?只有弄清楚了这些才能作出公平的对比。

    6软件组件和设备驱动程序,嵌入式系统应该通过各种标准加大开发需求的互操作性,开发者可能要依赖于他人开发的组件若应用需要通信协议、服务、库或者其他组件(如TCP/IP、HTTP、ftp、telnet、SNMP、CORBA和图形),从哪里获得它们得事先弄清楚不同操作系统供应商提供这些特性或驱动程序的方式可能不同,有的作为操作系统的一部分,有的作为可选配件二:如何选择,RTOS,7调试工具,一个良好的集成开发环境和调试工具有助于开发者提高开发速度、发现开发中的错误(如死锁、忘了放信号灯)等8标准兼容性,标准兼容性好的RTOS利于别的开发软件的移植RTOS服务有一个POSIX标准10技术支持,技术支持包含哪些内容:培训、文档、电话和电子支持等?这对RTOS上开发很重要,良好的技术支持可以使开发者少走很多弯路二:如何选择,RTOS,11源代码还是目标代码?,有些供应商提供给全部源代码而其他的仅提供目标代码这两种方式都能开发出优秀的产品对那些没有源代码的来说,也不必担心无法配置内核供应商会在头文件中给出必要的常量使开发者可以根据需要微调内核12许可,购买某些高级的RTOS属于重大的商业事务,有许多费用要考虑。

    有的供应商一次性地收取一大笔费用,而有的供应商的收费遍及每用户、每平台、每产品、每位置这需要了解清楚二:如何选择,RTOS,13声誉,还有一点是要了解该RTOS供应商的声誉如:,技术支持如何?,稳定的商务活动开始多久了?,公司有多少职员?,供应商的网站上有有价值的信息吗?,这种RTOS在哪个行业表现最好?,公司的质量系统状况如何?公司通过了ISO9001认证吗?,三:四种嵌入式RTOS各自的特点,弄清了以上的一些问题之后,初步得到了一个选择的依据下面,在这个依据的基础上,把Linux,QNX,Vxworks和Nucleus这四种嵌入式RTOS各自的特点和各种性能指标作一个罗列,从而达到对它们有个大致的了解提纲:,(一)开发环境及其工具,(二)RTOS的性能指标,(三)内核,(四)软件组件和设备驱动程序,(五)硬件支持,(六)标准兼容性,(七)技术支持,(八)源代码还是目标代码,(九)价格,许可,声誉,综合评价Linux,(一)开发环境及其工具,Linux,有着非常优秀的完整开发工具链,有十几种,集成开发环境,其中很多是免费的,大大降低了开发,费用右图是一个典型的嵌入式Linux开发环境,它包括主机(工作站或者PC)支持GDB的调试工具,目标板和网络。

    Linux,的特点,除了硬件环境外,还需要软件开发环境基于Linux的开发环境主要包括主机上的Linux操作系统,比如RedHat Linux上图是嵌入式 Linux 开发流程图一般的开发过程是,设计目标板,建立嵌入式Linux开发环境,编写、调试Boot Loader;编写、调试 Linux 内核;编写、调试应用程序;编写、调试BSP,Board Support Package,),Boot Loader用于初始化目标板,检测目标板和引导 Linux 内核BDM/JTAG用于目标板开发,它可以检测目标板硬件,初始化目标板,调试Boot Loader和BSP二)RTOS的性能指标,1.Linux本身不是实时的操作系统RT-Linux在Linux的基础上打包实现Linux的实时性2.RT-Linux实现了一个小的实时核心,仅支持底层任务创建、中断服务例程的装入、底层任务通信队列、中断服务例程(ISR)和Linux进程原来的非实时Linux核心作为一个可抢先的任务运行于这个小核心之上,所有的任务都在核心地址空间运行它不同于微内核和大型内核,属于实时体系结构其可靠性和可维护性对电信服务系统来说都不够理想,但应用于相对小的嵌入式系统性能还行。

    3.调度策略,RT-Linux在操作系统之下实现了一个简单的实时核心,Linux本身作为一个可抢占的任务在核内运行,优先级最低,随时会被高优先级任务抢占Linux,的特点,(三)内核,+-+-+,|应用程序层(Application Layout)|级别=3|,+-+-+,|服务器层(Deamon/Server Layout)|=2|,+-+-+,|设备驱动层(Drivers Manager)|=1|,+-+-+,|进程管理层(Process Manager)|=0|,+-+-+,|硬件(裸机)|,+-+-+,Linux,的特点,Linux采用的是带保护的平行内核体系(见上图)其优点是:(1)采用平行内核,因为各层次间以及同层次间的实现比较独立,这种体系的稳定性就要好的多,如果一个子系统崩溃,系统一般不会全部瘫痪;(2)可以更容易地添加新服务模块,Linux甚至无须重新启动缺点是:(1)当高层模块(如加减设备,服务器时)更新时,往往更新了特权任务表的内容,所以内核需要重新编译.(2)这种体系的底层代码和硬件直接关联,且功能越强,这种关联越紧,再加上核心比微内核体系要大得多,所以移植也要费事。

    四)软件组件和设备驱动程序,Linux具有完善的网络通讯、图形、文件管理机制网络是Linux的强项,Linux还支持多种文件和图形系统同时,Linux上的驱动已经非常丰富了,它们支持各种主流硬件设备和最新硬件技术Linux的系统服务:,近来,很多基于Linux的实时应用被开发出来,它具有成熟和丰富的资源UNIX用户的开发工具和应用软件都可移植到Linux上TCP/IP网络协议各种Internet客户/服务端软件X WindowC/C、Java等语言编译器Linux,的特点,(五)硬件支持:,支持多种体系结构,如X86、ARM、MIPS、ALPHA、SPARC等目前,Linux已经被移植到数十种硬件平台上,几乎支持所有流行的CPULinux,的特点,(六)标准兼容性:,Linux可作为一个嵌入式操作系统,它支持POSIX.1b标准七)技术支持,Linux具有开放性:,(1)用户可得到UNIX的全部开发工具2)可使用市场上便宜又常见的硬件Linux,的特点,(八)源代码还是目标代码,Linux是源代码完全公开的Linux的内核映像bzImage.bin大小为569,764大小加上其他应用程序,其大小可在2M左右。

    九)价格,许可,声誉:,Linux的最大优势便是经济,免费,源代码公开,是最吸引人的毫无疑问,这会节省大量的开发费用同时,它也可以随意地配置不需要任何的许可证或商家的合作关系市场上的带有Linux的2410评估板已经大量出现,据目前情况所了解,合肥市的华恒科技公司的评估板需:2,500元,内带Linux操作系统,评估板中有USB接口,以太网接口,串口和3.5寸64K色彩屏,提供底板的原理图同康科技公司的评估板需:9,600元,配置和华恒公司的类似,带有Linux操作系统,并提供全部电路原理图Linux,的特点,综合评价:,正如上所述,Linux最大的优势经济,免费,源代码公开,可以节省大量的开发费用,并且,它本身内置网络支持,高度的模块化使添加部件非常容易Linux在中国蓬勃发展起来,基于Linux的嵌入式评估板具有价格低、可选性强、技术支持多样化等优点同时Linux的评估板集中了各种各样的资源,如网口、液晶屏、触摸屏,USB口的驱动等选择,2410,的嵌入式Linux软件开发平台和OEM板可以帮助,我们,在应用项目立项前,评估项目的可行性在应用项目立项后,使软件开发和硬件开发同步进行。

    极大地缩短应用产品开发周期缺点:开发工具和开发环境不尽人意,如单步仿真,这增加开发的难度Linux,的特点,QNX,(一)开发环境及其工具,QNX Momentics开发系统在集成环境下提供无缝连接的工具链和各种板级支持包、库函数、源码。

    点击阅读更多内容
    卖家[上传人]:zhuwuneng
    资质:实名认证
    相关文档
    正为您匹配相似的精品文档