1
关注中国自动化产业发展的先行者!
2024中国自动化产业年会
2023
2023年工业安全大会
OICT公益讲堂
当前位置:首页 >> 资讯 >> 行业资讯

资讯频道

嵌入式操作系统研究及开发实例
  • 作者:谢克明
  • 点击数:2859     发布时间:2005-04-28 16:42:00
  • 分享到:
嵌入式系统在生活中随处可见,一台通用计算机的外部设备中就包含了5-10个嵌入式处理器,打印机、扫描仪、数字相机、USB集线器等均是由嵌入式处理器控制的。制造工业、过程控制、通讯、仪器仪表、汽车、船舶、航空航天、军事装备、消费类产品等方面均是嵌入式系统的应用领域。嵌入式系统广为接受定义是:以应用为中心,以计算机技术为基础,软件硬件可裁剪、适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。美国著名未来学家Nicholas Negroponte在1999年访华时预言,若干年后嵌入式智能工具将是继PC 和Internet 之后最伟大的发明。
关键词:

 

谢克明

 

1  引言

 

    嵌入式系统在生活中随处可见,一台通用计算机的外部设备中就包含了5-10个嵌入式处理器,打印机、扫描仪、数字相机、USB集线器等均是由嵌入式处理器控制的。制造工业、过程控制、通讯、仪器仪表、汽车、船舶、航空航天、军事装备、消费类产品等方面均是嵌入式系统的应用领域。嵌入式系统广为接受定义是:以应用为中心,以计算机技术为基础,软件硬件可裁剪、适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。美国著名未来学家Nicholas Negroponte1999年访华时预言,若干年后嵌入式智能工具将是继PC Internet 之后最伟大的发明。

 

2  嵌入式系统的结构

1  嵌入式系统结构图

    嵌入式系统作为一类特殊的计算机系统,自底向上包含有3个部分:嵌入式硬件平台、嵌入式操作系统、嵌入式应用软件,如图1中虚线框所示。随着嵌入式越来越复杂的应用,如何简洁有效地使嵌入式系统应用于各种不同的应用环境是嵌入式系统发展中所必须解决的关键问题。经过不断的发展,原先嵌入式系统的3层结构逐步演化成为一种4层结构。如图1中实线框所示,这个新增加的中间层次叫硬件抽象层,有时也叫板级支持包,是一个介于硬件与软件之间的中间层次。硬件抽象层通过特定的上层接口与操作系统进行交互,实现操作系统对硬件的直接操作。硬件抽象层的引入大大推动了嵌入式操作系统的通用化。

 

3  嵌入式操作系统

 

    通用计算机具有完善的操作系统和应用程序接口(API),是计算机基本组成不可分离的一部分,应用程序的开发以及完成后的软件都在OS平台上面运行,但一般不是实时的。嵌入式系统应用软件可以没有操作系统直接在芯片上运行,但是为了合理地调度多任务,利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。嵌入式操作系统完成嵌入式应用的任务调度和控制等核心功能,具有内核较精简、可配置、与高层应用紧密关联等特点。

 

    嵌入式操作系统的高实时性是基本要求,在多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此操作系统的高实时性是基本要求。多任务操作系统是知识集成的平台和走向工业标准化道路的基础。

表1

 

    为了满足嵌入式电子设备功能的不断升级和日趋复杂的电气结构,全世界EOS多达数百种,而且新的EOS不断涌现,很多IT组织、大公司都有自己的RTOSEOS不但支持8/16位处理器,而且能支持TriCoreATmega 128PA-RISCPower PCARMStrong ARMSE3208NIOSARCAVRHMS39C7092LH7A404TMS320C671168XXXCPU3232/64RISC芯片或信号处理器DSP 新一代EOS 还具备TCP/IPIEEE1394USBCANBluetoothIrDA通信接口组网协议软件和物理层驱动软件,采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、提供精巧的多媒体人机界面、保障软件质量和缩短开发周期。就每种特定的EOS而言,其更新速度日新月异,为了及时了解EOS新的特征,笔者列举了20世纪80-90年代一些著名的EOS,其主要特征如表1所述。

 

    下面对1999年至2004年五年期间使用率较高的RTOS,做一详细介绍。

    (1)  RTLinux是比较受欢迎而又比较成功的实时Linux实现方案之一,它既有专有版本,又有源码开放的版本,两种版本均可从FSMLabs公司买到。RTLinuxLinux看作是在小型RTOS下的一个低优先权任务执行软件。只有在没有实时任务可执行时,Linux才会运行。这种技术使RTLinux能在35μs预定时间内,在一个典型的PC兼容系统上执行周期性的任务,而标准的Linux则需要超过20ms的预定时间。这种混合方法的优点在于简单的RTOS能够收集实时数据,然后用户可以利用标准Linux应用程序的功能来分析和显示这些数据。 RTLinux是源代码开放的具有硬实时特性的多任务操作系统,它是通过底层对Linux实施改造的产物。通过在Linux内核与硬件中断之间增加一个精巧的可抢先的实时内核,把标准的Linux内核作为实时内核的一个进程与用户进程一起调度,标准的Linux内核的优先级最低,可以被实时进程抢断。正常的Linux进程仍可以在Linux内核上运行,这样既可以使用标准分时操作系统―Linux的各种服务,又能提供低延时的实时环境。RTLinux在默认的情况下采用优先级的调度策略,即系统调度器根据各个实时任务的优先级来确定执行的先后次序。优先级高的先执行,优先级低的后执行,这样就保证了实时进程的迅速调度。同时RTLinux也支持其它的调度策略,如最短时限最先调度(EDP)、确定周期调度(RM)(周期段的实时任务具有高的优先级)。RTLinux将任务调度器本身设计成一个可装载的内核模块,用户可以根据自己的实际需要,编写适合自己的调度算法。

    (2)  VxWorks操作系统是美国WIND RIVER公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它是目前嵌入式系统领域中使用最广泛,市场占有率最高的系统。它支持多种处理器,如x86i960Sun SparcMotorola MC68xxxMIPS RX000POWER PC等等。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的 F-16FA-18 战斗机,B-2 隐形轰炸机和爱国者导弹上,甚至连1997年在火星表面登陆的火星探测器上也使用到了VxWorks

    (3)  QNX RTOS 两个加拿大人Gordon BellDan Dodge1980年成立了Quantum Software Systems公司,他们根据大学时代的一些设想写出了一个能在IBM PC上运行的名叫QUNIXQuick UNIX)的系统,直到AT&T发律师函过来才把名字改成QNXQNX在正式发行的1.0版就成功实现了多任务,而20世纪80年代中期Microsoft年复一年的宣布其新版的DOS将是真真正正的多任务系统的时候,QNX已经在各大公司用开了。POSIX出现后,QNX被重写了一遍,一方面避免了被指责用户界面与UNIX过于相似的尴尬,另一方面在保持特色的同时作了一些改进,变得更加优秀。为了与Microsoft抗衡,改名为QNX Software Systems的公司又推出了基于微内核技术的Neutrino版本,这使得QNX在嵌入式应用方面有了广阔的前景。QNX的最新版本为QNX Neutrino RTOS Version 6.2.1 [Apr-7-2003],国内的官方网站有非商业版的下载。 嵌入式系统应用最广泛的一种操作系统是加拿大QNX公司推出的QNX RTOS操作系统。该系统可与Linux兼容,不同于Windows 98,它是一种实时系统,在存储器的装载周期中进行命令处理而不会延误时间。它可以用在肾病患者换血时所需的透析设备及宇宙飞船、工艺控制设备或电讯设备中。QNX是一个实时的、可扩充的操作系统,它遵循POSIX.1(程序接口)和POSIX.2Shell和工具),部分遵循POSIX.1b(实时扩展)。它提供了一个很小的微内核以及一些可选的配合进程。其内核仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX内核非常小巧(QNX4.x大约为12KB)而且运行速度极快。这个灵活的结构可以使用户根据实际的需求将系统配置成微小的嵌入式操作系统或是包括几百个处理器的超级虚拟机操作系统。

    (4)  Nucleus Embedded RTOS  AT

热点新闻

推荐产品

x
  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: