嵌入式实时操作系统VxWorks在惯性导航系统中的应用
- 格式:pdf
- 大小:290.31 KB
- 文档页数:5
vxworks 使用案例VxWorks是一款实时操作系统(RTOS),广泛应用于嵌入式系统、工业控制、航空航天、军事等领域。
以下是一些VxWorks的典型使用案例:1. 嵌入式设备:VxWorks可用于各种嵌入式设备,如智能家居、无人驾驶汽车、工业机器人等。
在这些设备中,VxWorks可以提供实时性能、低功耗和紧凑的系统资源占用。
2. 航空航天:VxWorks在航空航天领域有着广泛应用,如飞行控制系统、卫星通信系统、航空电子设备等。
在这些系统中,VxWorks需要具备高可靠性、实时性和强大的内存管理能力。
3. 军事系统:VxWorks在军事领域也有广泛应用,如导弹控制系统、雷达系统、指挥控制系统等。
在这些系统中,VxWorks需要满足严格的性能、安全性和可靠性要求。
4. 工业控制:VxWorks可用于各种工业控制系统,如生产线自动化、智能仪表、传感器等。
在这些系统中,VxWorks可以提供实时性能、稳定性和易于扩展的特性。
5. 医疗设备:VxWorks在医疗设备中有广泛应用,如超声波设备、心电监测设备、手术机器人等。
在这些设备中,VxWorks需要具备高可靠性、实时性和良好的兼容性。
6. 通信设备:VxWorks可用于通信设备,如交换机、路由器、基站的控制系统等。
在这些设备中,VxWorks需要提供高性能、低功耗和稳定的系统运行。
7. 汽车电子:VxWorks在汽车电子领域也有广泛应用,如发动机控制系统、刹车控制系统、车载信息娱乐系统等。
在这些系统中,VxWorks 需要满足功能安全、实时性和低功耗的要求。
总之,VxWorks作为一款实时操作系统,在众多领域发挥着重要作用。
其高性能、实时性、可靠性和易用性使得它成为许多嵌入式系统和实时控制应用的首选操作系统。
VxWorks操作系统简介VxWorks操作系统简介VxWorks操作系统是一种广泛应用于嵌入式系统开发的实时操作系统。
本文将详细介绍VxWorks操作系统的架构、特性、应用领域以及相关的法律名词注释。
一、VxWorks操作系统架构VxWorks操作系统采用分层架构,包括内核层、中间层以及外围应用层。
具体架构如下:⒈内核层:提供底层的操作系统服务,包括任务管理、内存管理、中断处理、设备驱动等。
内核层使用高度模块化的设计,可以根据需求选择性地加载不同的内核服务。
⒉中间层:提供更高层次的功能,如文件系统、网络协议栈、图形用户界面等。
中间层通过对内核接口的封装,提供更便捷的应用开发接口。
⒊外围应用层:包括用户应用程序和系统管理工具。
用户应用程序可以基于VxWorks操作系统的开发环境进行开发,并且通过内核和中间层提供的接口与系统进行交互。
二、VxWorks操作系统特性VxWorks操作系统有以下特点:⒈实时性:VxWorks操作系统被广泛应用于实时系统开发,具有快速响应、低延迟和可预测性等特性。
它使用了优化的调度算法和中断处理机制,确保系统对实时任务的及时响应。
⒉可靠性:VxWorks操作系统采用了可靠性设计和故障恢复机制,例如内存保护、任务隔离和异常处理等。
这些机制可最大限度地减少系统崩溃和错误的影响。
⒊可扩展性:VxWorks操作系统具有高度可扩展性,可以根据应用的需要进行灵活配置。
开发人员可以根据系统需求选择性地加载所需的内核服务和中间层模块,以达到最佳性能和资源利用。
⒋安全性:VxWorks操作系统提供了多层次的安全机制,包括权限控制、数据加密和访问控制等。
这些机制可以在网络和物理环境中保护系统不受未经授权的访问和攻击。
三、VxWorks操作系统的应用领域VxWorks操作系统在各行各业都有广泛的应用,特别适用于对实时性和可靠性要求较高的领域。
以下是一些典型的应用领域:⒈工业自动化:VxWorks操作系统被广泛用于控制系统和工业领域,如汽车制造、航空航天和机械制造等。
嵌入式操作系统VxWorks摘要:本文介绍了嵌入式操作系统VxWorks的内部结构和特点,以及跟其他操作系统的进行比较,了解各自的有缺点以及使用的领域,最后对WxWorks进行展望。
关键字:嵌入式操作系统VxWorks1.嵌入式操作系统背景随着计算机技术的迅速发展和芯片制造工艺的不断进步,嵌入式系统的应用日益广泛:从民用的电视、手机等电路设备到军用的飞机、坦克等武器系统,到处都有嵌入式系统的身影。
在嵌入式系统的应用开发中,采用嵌入式实时操作系统(简称RTOS)能够支持多任务,使得程序开发更加容易,便于维护,同时能够提高系统的稳定性和可靠性。
这已逐渐成为嵌入式系统开发的一个发展方向。
2.什么是VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统,是嵌入式开发环境的关键组成部分。
良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。
它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
在美国的F-16、FA-18战斗机、B-2隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。
3.VxWorks的组成VxWorks操作系统包括了进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分。
VxWorks只占用了很小的存储空间,并可高度裁减,保证了系统能以较高的效率运行。
VxWorks由以下几个主要部分组成:3.1高性能的实时操作系统核心windVxWorks的核心,被称作wind,包括多任务调度(采用优先级抢占方式),任务间的同步和进程间通信机制以及中断处理,看门狗和内存管理机制。
一个多任务环境允许实时应用程序以一套独立任务的方式构筑,每个任务拥有独立的执行线程和它自己的一套系统资源。
操作系统的实时系统与嵌入式实时操作系统操作系统是计算机系统中的核心组成部分。
它负责管理和协调计算机硬件与软件资源,为用户和应用程序提供良好的使用环境。
操作系统又可分为实时系统和非实时系统,其中实时系统又可以进一步分为普通实时系统和嵌入式实时系统。
本文将着重探讨实时系统和嵌入式实时操作系统的概念、特点以及应用领域。
一、实时系统实时系统是指能够在规定的时间范围内对于事件进行产生、处理和响应的计算机系统。
它的特点是对时间要求极为严格,要求系统能够在给定的时间限制内完成任务的响应。
根据实时性能要求的不同,实时系统可以分为硬实时系统和软实时系统。
硬实时系统是指必须严格按照预定时间完成任务的实时系统。
在硬实时系统中,任务的延迟必须小于预定的数值,否则会导致系统失效。
这类系统通常应用于航空航天、核电站等对安全性要求极高的领域。
软实时系统则对于任务完成的时间要求相对宽松一些。
在软实时系统中,任务的延迟可以超过预定时间,但是超过的延迟应该尽量减小,以达到更好的系统性能和用户体验。
例如,在多媒体应用中,要求视频播放的延迟尽可能小,以免出现卡顿的情况。
二、嵌入式实时操作系统嵌入式实时操作系统是一种运行在嵌入式计算机系统上的实时操作系统。
它通常被嵌入在具有特定功能的设备或系统中,以实时地完成特定的任务。
嵌入式实时操作系统的特点是高度可靠、实时性强、功耗低以及对硬件资源的优化利用。
与通用操作系统相比,嵌入式实时操作系统更加注重对实时任务的管理和调度。
它可以根据任务的优先级和时间要求,合理分配系统资源,确保任务在规定时间内得到处理和响应。
此外,嵌入式实时操作系统还通常具有小内核、快速启动和低资源消耗等特点,以满足对于设备功耗和响应速度的要求。
嵌入式实时操作系统被广泛应用于各个领域,如交通系统、医疗设备、工业自动化等。
例如,在交通系统中,嵌入式实时操作系统可以实时处理交通信号灯的状态,以确保交通流畅和安全。
在医疗设备中,嵌入式实时操作系统可以实时监测患者的生命体征,并根据需要发出相应的指令。
嵌入式系统中的实时操作系统及应用嵌入式系统是现代科技的重要一环,几乎可见于任何电子设备中,包括个人电脑、智能手机、家用电器、车载设备、工业控制设备等等。
它们的特点是体积小、功耗低、成本低、稳定性高,因此在真实世界的应用方面占据了巨大的优势。
而嵌入式系统离不开一个好的操作系统,这里我们聚焦于嵌入式系统中的实时操作系统及应用。
一、实时操作系统的定义和特点实时操作系统,英文名Real-Time Operating System (RTOS),是一种专门为实时应用而设计的操作系统,其主要特点是拥有高可靠性、高效性、实时性和稳定性等特征。
实时操作系统主要分为两类,即确定性实时操作系统和非确定性实时操作系统。
确定性实时操作系统是指在规定的时限范围内完成指定的任务,即具有可预测性和可控性;而非确定性实时操作系统则不具备可预测和可控的特点,例如工作负荷过大时可能会出现任务延迟现象。
二、典型的实时操作系统1. VxWorksVxWorks是一款由美国Wind River公司开发的实时操作系统,其主要应用范围包括工业控制、医疗设备、航空航天、汽车等领域。
它的特点是高度可定制性、可扩展性和高度优化的架构,使得VxWorks成为嵌入式系统中最受欢迎的实时操作系统之一。
2. uC/OSuC/OS是一款由美国嵌入式系统开发领域的权威人物Jean brosse开发的实时操作系统。
其主要应用范围包括医疗设备、汽车、工业控制等领域。
由于其极小的内存占用空间和少量的编译器依赖,能够运行在更为简单的处理器中,成为嵌入式系统中的实时操作系统的首选。
3. Linux RTLinux RT是一款基于Linux内核开发的实时操作系统。
它囊括了Linux操作系统的所有优点,同时使用实时内核模块使得其具备了良好的实时性。
由于Linux RT在很大程度上借鉴了Linux内核,因此拥有庞大的生态和强劲的支持,是未来实时操作系统中的重要一员。
三、实时操作系统的应用1. 工业控制实时操作系统在工业控制领域中拥有着广泛的应用。
VxWorks操作系统简介VxWorks操作系统简介1.VxWorks操作系统概述VxWorks是一种实时操作系统(RTOS),由美国风险通信公司(Wind River Systems)开发和销售。
它广泛应用于嵌入式系统、网络设备和航空航天等领域,以其高度可靠性、实时性和可定制性而闻名。
2.VxWorks操作系统的特点与优势2.1 实时性能:VxWorks具有优秀的实时性能,能够以微秒级的精确度响应任务,并能够满足各种实时应用的需求。
2.2 可定制性:VxWorks提供了丰富的可定制选项,开发人员可以根据具体需求选择合适的开发环境、编程语言和硬件平台。
2.3 可靠性:VxWorks采用可靠性架构,能够有效地处理系统错误和异常,提供稳定性能与高可靠性。
2.4 安全性:VxWorks支持多层次的安全机制,包括访问控制、数据加密和安全认证等,保护系统免受恶意攻击。
3.VxWorks操作系统的体系结构3.1 内核:VxWorks内核提供了操作系统的核心功能,包括任务调度、内存管理、中断处理等。
它是操作系统与硬件之间的核心接口。
3.2 文件系统:VxWorks支持多种文件系统,包括RAM文件系统、ROM文件系统和网络文件系统等。
这些文件系统可用于数据存储、配置文件管理和软件更新等方面。
3.3 设备驱动程序:VxWorks提供了丰富的设备驱动程序,用于管理和控制外设设备,如串口通信、网络接口和硬盘等。
3.4 网络协议栈:VxWorks内置了多种网络协议栈,包括TCP/IP协议栈和UDP协议栈等,以实现设备间的网络通信。
4.VxWorks操作系统的开发工具4.1 Tornado集成开发环境:Tornado是VxWorks的主要开发工具,提供了图形化界面和一系列的编译、调试和部署工具,简化了开发过程。
4.2 GNU工具链:VxWorks还支持GNU工具链,包括GCC编译器、GDB调试器和Make构建工具等,为开发人员提供更灵活的开发环境。
第11卷第1期中国惯性技术学报 2003年2月文章编号:1005-6734(2003)01-0006-04 嵌入式实时操作系统VxWorks在惯性导航系统中的应用 王远明,张元平,任明录,章永生,张玉龙 (天津航海仪器研究所,天津 300131) 摘要:详细介绍了嵌入式实时操作系统VxWorks的性能特点,叙述了基于VxWorks操作系统的开发过程和在导航接口机中的应用实例,提出了现行惯导系统软件从汇编语言到OS、高级语言的必要性和可能性,从而在提升软件的可维护性、可测试性和可靠性的同时,充分发挥导航计算机的性能,以适应日益复杂的导航计算要求。
关 键 词:惯性导航系统;嵌入式实时操作系统VxWorks;惯导系统软件;应用 中图分类号:U666.1 文献标识码:AApplication of Embedded Real-time OperatingSystem(VxWorks) in INSWANG Yuan-ming, ZHANG Yuan-ping, REN Ming-lu, ZHANG Yong-sheng, ZHANG Yu-long (Tianjin Naviagtion Instrument Research Institute, Tianjin 300131, China)Abstract: This paper gives a particular recommendation of Embedded Real-time Operating System(VxWorks), and introduces the development procedure under VxWorks Operating System and the instance of interface computer in INS. The possibility and requirements of the conversion from assembler language to higher language are presented. Therefore the performance of PC/104 main board can be improved while the software capability of maintenance and credibility is increased.Key words: inertial navigation system(INS); embedded real-time operating system VxWorks; system software of inertial navigation; application1 引 言 惯性导航系统是集敏感量采集、台体控制、数据解算、人机操控、数据发送等功能为一体的实时控制系统,能为舰船提供航向、姿态和位置等导航信息。
惯导控制的核心是嵌入式的计算机系统,它肩负着数据采集、滤波解算、平台控制、导航参数输出及人机对话等功能。
现行惯导计算机是以INTEL的嵌入式80486(PC/104)芯片为CPU,软件是利用8086汇编语言基于处理器直接编写的,以INTEL 957B监控程序作为控制环,用以调试、控制应用程序。
显然,存储器、外围设备等资源的管理都是与应用软件混合在一起的,软件复杂度很不合理,主要有以下弊端:虽然汇编语言的控制灵活,代码效率高,但其固有的可理解性和可移植性差等缺点也为软件的维护、修改和移植工作带来不利的一面;另外,由于 PC/104主板为32位处理器,可以实现实时多任务并发处理,因此如果仍然沿用手工编制CPU管理程序,面对复杂的应用就很难发挥出32位CPU的处理能力来开发出高 收稿日期:2002-12-13作者简介:王远明(1977—),男,天津航海仪器研究所助工,从事用于惯性导航系统的计算机软件研究。
第1期 王远明等:嵌入式实时操作系统VxWorks在惯性导航系统中的应用 7 效可靠的应用系统;再次,现行的8086汇编语言调试手段、测试工具的落后也使系统软件的维护工作效率低下,软件的正确性及稳定性需要经过长时间的实际运行考核;最后,由于技术的发展,更高集成度的新设备层出不穷,这些设备通常是有生产厂商的驱动程序作支持的,显然现行开发方法中无法直接利用这些已有资源。
要克服以上的缺点就必须在软件开发的过程中引入嵌入式的实时操作系统,让操作系统来管理存储器、外设、网络栈等与应用程序无关系统资源,从而将程序员解放出来。
操作系统实际上是一个计算机系统中硬、软资源的总指挥部。
操作系统是软件技术含量最大,附加值最高的部分,是软件技术的核心,是应用软件的运行平台。
实时多任务操作系统(RTOS)是嵌入式应用软件的基础和开发平台。
RTOS将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的API,并根据任务的优先级,合理地在不同的任务之间分配CPU时间。
VxWorks嵌入式实时多任务操作系统是现在所有独立于处理器的实时系统中最具特色的操作系统之一,它根据需要裁减后与应用软件一起嵌入到目标系统中,最终形成体积小,专用性实时性强的软件。
VxWorks的C语言集成开发环境Tornado提供了众多功能强大的开发工具,如:功能完善的编辑器、C/C++编译器、原型仿真器、目标机调试器,以及优化分析工具和软件测试工具。
我们已成功地利用Tornado为多套惯导接口机开发了基于VxWorks的应用软件,给现行惯导系统软件从汇编语言向有操作系统支持的高级语言升级打下了基础。
2 与无操作系统的惯导控制程序相比VxWorks的优势 VxWorks是Wind River System公司于1983年推出的嵌入式实时多任务操作系统,在爱国者导弹和火星探测车等众多军用及航空航天的实时控制系统中的成功应用使其声名鹊起。
2.1 VxWorks可靠性高的实时性能 惯导计算机的主要指标之一是可靠性高的实时性能。
目前惯导控制程序以0.1秒作为实时控制和解算步长,每0.1秒程序读取两个水平加速度表感受的脉冲增量,输出本次0.1秒以前应用程序计算出的加给陀螺的施矩信号。
显然这里存在一个时间延迟:本次0.1秒以前应用程序计算出的加给陀螺的施矩信号要等到下一个0.1秒才能输出给系统,这有悖于实时系统的要求。
VxWorks可以很好地解决这个问题。
VxWorks可以处理多发的而且是并发的随机事件,这是通过多进程(多任务)运行机制来完成的。
其高性能的微内核Wind包括多任务调度(采用优先级抢占方式)、任务间的同步和进程间通信机制,以及中断处理、看门狗和内存管理机制。
这个多任务环境允许实时应用程序以一套独立任务的方式构筑,每个任务拥有独立的执行线程和它自己的一套系统资源。
进程间通信机制使得这些任务的行为同步、协调。
Wind使用中断驱动和优先级的方式,它缩短了上下文转换的时间开销和中断的延时。
在VxWorks中,任何例程都可以被启动为一个单独的任务,拥有它自己的上下文和堆栈。
还有一些其它的任务机制可以使任务挂起、继续、删除、延时或改变优先级。
此外Wind还提供了作为任务间同步和互斥的信号量机制和消息队列、管道、套接字等机制。
2.2 灵活的调试与方便的软件测试手段 利用汇编语言开发惯导控制程序时,由于调试手段少,其调试过程相当麻烦。
通常先要做软件自闭8 中国惯性技术学报 2003年2月路静态输入测试,无误后再到实际惯导设备上调试。
虽然在调试过程中可以更改一些内存变量的内容,但开发者必须事先打印出冗长的符号表,找到其变量的内存地址。
如果涉及到程序源代码的更改就必须经过一个编辑、编译、连接、定位,固化芯片的烦琐过程,并且由于现在用汇编语言开发的系统越来越少,因而为其提供的软件测试工具及其相应的服务也很少,这就对软件工程化非常不利,而软件工程化管理是软件质量的保证。
这些问题在VxWorks中都可以很好地被解决:首先TornadoⅡ集成环境中的仿真器(VxSim)允许开发者在没有BSP(板级支持包)、操作系统配置、目标机硬件的情况下,使用TornadoⅡ迅速开始开发工作。
其次TornadoⅡ允许开发者增量地将目标模块加载到目标系统上去,这种动态的连接和加载功能是TornadoⅡ系统的核心功能,可以使开发者省去通常的开发步骤,即在主机上将应用程序与内核连接起来,然后将整个应用程序下载到目标系统中去。
这样,编辑—测试—调试的周期就会大为缩短,并且所有的模块都是可以共享的,主机上的应用程序模块也不需要重新连接,因此把目标模块加载到运行中的VxWorks目标系统中就可能达到调试和重新配置的目的。
另外TornadoⅡ中还集成了白盒测试工具—CodeTest,其中包括Coverage Module和Memory Module。
Coverage Module主要是确定代码中未经测试的部分和提供系统的动态视图,开发者可以通过一系列的图形方式观察测试覆盖信息,还可以产生一个合并了多个测试的综合报告以确定这些测试的效率。
Memory Module主要显示内存动态分布情况,检查内存泄露,为提高软件质量提供了技术上的手段。
2.3 综合的网络功能 网络是21世纪的主旋律之一,惯导计算机上网是一个必然的趋势,而利用汇编语言实现网络功能却有相当大的困难,因此现在惯导系统上网通常是通过接口机或其他外围设备实现的。
由于经过了一个中转环节使得惯导实时采集的数据总要有一个时延才能发到网上,而且由于中间环节的增加还提高了系统的出错率,增加了系统的成本。
如果利用VxWorks惯导计算机上网将是一件很容易的事情,因为VxWorks是一个支持工业标准TCP/IP的实时操作系统,它支持最新的Berkeley网络特性,包括IP、IGMP、CIDR、TCP、UDP,ARP等协议,以及标准Berkeley套接口、NFS客户服务器等。
VxWorks提供了对其它网络和TCP/IP网络系统的“透明”访问,包括与BSD套接字兼容的编程接口、远程过程调用(RPC)等。
2.4 功能强大的图形界面开发包 “一个好的界面是软件成功的一半”。
现在的惯导系统中的数据显示是由数码管来完成的,一次显示的数据量很少,人机交互是通过二进制命令来完成的,要正确无误地对系统进行控制,操控人员就必须记清各种功能所对应的二进制命令。
TornadoⅡ集成环境中的WindML & Zinc for VxWorks图形界面开发包可以充分满足嵌入计算机的图形要求,设计出类似Windows的图形窗口界面,使开发者可以在VxWorks实时操作系统上以较低的系统开销设计实现丰富多彩的嵌入式GUI。