《一种嵌入式操作系统——VxWorks.pdf》由会员分享,可在线阅读,更多相关《一种嵌入式操作系统——VxWorks.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 电信交换 2 0 0 4 年第 3期 软件 技术 一种嵌入式操作系统Vx W0 r k s 杨睿 摘要:嵌入式操作系统是一种存储在微处理器里的很小的专用 系统。本文主要 介绍了嵌入式操作 系2 L V x Wo r k s 及其集成开发环境T o r n a d o l I 的主要特点和组成 关键词:嵌入式操作系统 V x Wo r k s To r n a d o l I 随着信息技术和互联网的飞速发展,以及消费类电子产品的智能化趋势的加强,嵌入 式操作系统 以其 占用 内存少、性能高、具有可伸缩性、性 能稳定等特点得到 了越来越广 泛的应用。目前世界上共有8 0 多家公司致 力于嵌入式操
2、作系统的开发,所推出的产品主 要包括V x Wo r k s、p S OS、OS 9、Wi n d o w s C E以及我国的Ho p e n 等操作 统,其主要应用 在工业 自动化、网络通信、航空航天、医疗仪器、自动收款机、核监控设备 以及 消费类 电子产品等领域。Vx Wo r k s 是美国 Wi n d R i v e r S y s t e m 公司(以下简称风河公司,即 WRS公司)推 出的一个实时操作系统。WR S公司组建于1 9 8 1 年,是一个专 门从事实时操作系统开发 与 生产的软件公司,该公司在实时操作系统领域被世界公认为是最具有领导作用的公司。V x Wo r k
3、s 是专门为实时嵌入式系统开发和设计的操作系统 内核,可为程序员提供高效 的实时多任务调度、中断管理,以及实时的系统资源和任务间通信。它还为各种C P U 平 台 提供了统一的编程接口和一致的运行特性,尽可能地屏蔽 了不同C P U之间的底层差异,使 应用程序员可以将主要注意力放在应用程序本身上,而不必在系统资源的管理上花费精力。另外,基于V x Wo r k s 操作系统的应用程序还可以在不同C P U 平台上轻松移植。V x Wo r k s是一个运行在 目标机上的高性能、可裁减 的嵌入式实时操作系统。它以其 良好的可靠性和卓越 的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及
4、实时性要求极高的领域 中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的 F 一1 6、F A一 1 8战斗机、B 一 2隐形轰炸机和爱国者导弹上,以及1 9 9 7 年4 月在火星表面登陆的 火星探路者上也都使用 了Vx Wo r k s。V x Wo r k s 功能强大而且比较复杂,它包括进程管理、存储管理、设备管理、文件 系 统管理、网络协议及系统应用等几个部分。但Vx Wo r k s 只占用了很小的存储空间,并可 高度裁减,保证 了系统能以较高的效率运行。所 以,仅仅依靠人工编程调试,很难发挥 它 的 功 能并 设 计 出可 靠、高 效 的嵌入 式 系统,必须 要 有 与之
5、相 适应 的开 发 工具。T o r n a d o l I 就是为开发Vx W0 l k s 应用 系统提供 的集成开发环境。T o r n a d o l I 中包含的工程 管理软件可以将用户代码与V x W0 r k s 的核心有效地组合起来,并可以按用户 的需要裁剪 配置V x Wo r k s 内核;v x S i m原型仿真器可 以让程序员不用 目标机的情况下,直接开发系统 原型,作 出系统评估:功能强大的Cr o s s Wi n d 调试器可 以提供任 务级和系统级的调试模 3 3 维普资讯 http:/ 电信交换 2 0 0 4 年第 3期 式,可以进行多 目标机的联调:优化
6、分析工具可 以帮助程序员从 多种方式真 正地观察、跟踪系统的运行,排除错误,优化性能。一、T o r n a d o l I 系统简介 T o r n a d o l I 开发环境是嵌入式实时领域里最新一代的开发调试环境,是实现嵌入式实 时应用程序的完整 的软件开发平 台,是交叉开发环境运行在主机上 的部分,是开发和调 试系统不可缺少 的组成部分。T o r n a d o l I 给嵌入式系统开发人员提供了一个不受 日标机资 源限制的超级开发和调试环境。它主要包括 以下三个高度集成的部分:开发工具 运行在宿主机和 目标机上的强有力的交叉开发工具和实用程序;操作系统 运行在 目标机上的高性能、
7、可裁 的实时操作系统Vx wo r k s:通信 方 式 连接宿 主机和 目标机 的多种通信 方式,如 以太 网、串口线、I C E或 R OM仿真器等(参见图1)。图 1 T o r n a d o I I嵌 入 式 集 成 开 发 系统 结构 T o r n a d o l I 的开发工具包括:L a u n c h 主机 目标机连接配置器 Wi n d S h 命令行执行工具 C r o s s Wi n d 图形化的交叉调试器 B r o w s e r 目标机系统状态浏览器 P r o j e c t F a c i l i t y 工程配置文件 Wi n d Vi e w 诊断分析
8、工具 S i mu l a t o r 集成仿真器 这些工具可 以由工具命令语言(T C L)来定制,如增加新 的功能、定制 j 户接 口、3 4-维普资讯 http:/ 杨 睿:一种嵌入式操作系统v x w0 r k s 使某些 目标机常驻工具为可用等等。T o r n a d o I 1 支持的主机:Su n 一 4:Su n OS 4 1 x:S o l a r i s 2 4 2 5:S o l a n i s 2 5 1 2 6;So l a n i s 2 7;HP 9 00 0 7 0 0:HP UX 9 0 7:HP UX l 0 1 0;HP X 1 0 2 0;PC:W 1
9、 l 9 5:W i n9 8:W i n NT。To t n a d o H录 树:u s r h i m1 主机 日录树:L ho s t J Ho s t:T o t n a d o 主机常驻工具 S E T U P:S E T U P 羁!序 S h a h e:分享XD R 代码 T a t。g e t:V x Wo n。k s 操作系统,B S P D o c s:在线H T ML 文件 目标机 目录树:t ar g et 文件 c o n t i :配 和编译V x Wo n k s tlj 文件 1一a l l:普通的配 文件 卜一b s o Nti me:BS P L c o
10、 m1)s:V x W()r k s t 件描述符文件和配置符 I)t o i:预V x Wo t k s 可肩动的工程 h:Vx Wo ll s 头文件 l i b:Vx W o l l s 库 S t c:部分Vx W 0 r k s 源 代码 u n s l t I)I)O r t e d:工 具和 驱动 二、V x Wo r k s 简介 1 V x Wo n k s 系统的模块结构与构成 V x Wo-l s 嵌入式实时操作系统包括微 内核wi n d、高级的网络支持、强有力的文件 系 统和I O管理,以及C+及其他标准支持的核心功能。这些核心功能还可以与Win d R i v e
11、r 公 司的其他产品以及3 2 t 1 个Wi n d R i ,e t 公叫的合作伙伴的产品联合使用。图2 是V x Wo t k s 系统结构的示意图。一35 维普资讯 http:/ 电信交换 2 0 0 4 年第 3期 与 硬件无 关 的 软件 应 用、工 具 I O 系 统 I v Y、,k T C P,I P I 1 r 1 r I 文一 牛系统 MUX接 口 与 硬件相 关 的 软件 1 r l V x w o rk。内 核 1 r 驱 鎏目 驱 J 千 。l l。一 f 一本 l I 肚 I I 1 r I S CS I I V l 络 控 制 器 资 源 控 制 l J 计 时
12、 器 I 控 制 器 。图2 Vx Wo r k s 系统结构简图 2 V x Wo r k s 的特点。(1)对运行环境的兼容性 V x Wo r k s 系统运行环境支持的C P U 包括P o w e r P C、6 8 K、C P U 3 2、S P ARC、i 9 6 0、x 8 6、Mi p s 等,同时支持R I S C、DS P 技术。支持 多种硬件环境 也是Vx Wo r k s 得以流行的重要原因。(2)高性能的微 内核设计处于V x Wo r k s 嵌入式实时操作系统核心的是高性能的微内核 w i n d。它是一个具有较高性能的、标准的嵌入式实时操作系统内核,所支持的实
13、时特征包 括快速任务切换、中断支持、抢占式和时间片轮转调度等。该微内核设计减少了系统开销,从而保证 了对外事件作 出快速而又准确的反应。该内核具有任务问切换时间短、中断延迟 小、网络流量大等特点,与其他嵌入式实时操作系统相比具有一定的优势。(3 1 可裁减的运行软件Vx Wo r k s 之所以设计为具有可裁减性,是为了使开发者能够 根据 自己应用程序的需要(而不是根据操作系统的需要)来分配宝贵的 内存资源。从需 要几个k B 字节 内存的深层嵌入式设计,到需要更多内存的功能复杂的高端实时操作系统,开发者可以从1 0 0 多个不同的选项 中进行选择,从而可产生上百种 的配置方式。许 多独立 的
14、模块都是在开发时使用,而在产品中不再使用。而且,这些子系统本身也是可裁减 的,这样就允许开发者为最广泛的应用程序进行更为优化的Vx W0 r k s 运行环境配置。(4)综合 的网络工具Vx Wo r k s 是第一个支持工业标准T C P I P 的实时操作系统。(5)兼容P OS I X 1 0 0 3 1 b 标 准 V x Wo r k s 支持P O S I X 1 0 0 3 1 b 的规定和1 0 1 1 3 1 中有 关 基本系统调用的规定,包括过程初始化、文件与 目录、I O初始化、语 言服 务、目录 处 理;而且Vx Wo r k s 还支持P OS I X 1 0 0 3
15、 1 b 的实 时扩展,主要包括异步I O、记数信号量、消息队列、信号、内存管理和调度控制。(6 1 平台的选择Wi n d R i v e r 还提供现成的一整套的商业和评估板。Vx Wo r k s 开放的 设计具有 高度的可移植性并且支持几乎所有 的处理器,这样,应用程序就可 以在不 同的 体系结构之间很容易地移植。(7)方便地移植到用户硬件上 能否将操作系统和应用程序 以一利 t 合适的方式进行移-3 6-维普资讯 http:/ 杨 睿:一种嵌入式操作系统_V x wo r k s 植是嵌入式软件开发方面的关键。如果事先就考虑 了操作系统和应用程序代码 的可移植 性,那么这个过程就会变
16、得非常容易。这需要 明确划分低级的依赖于硬件的代码和高级 的应用程序和操作 系统代码,这样,移植时只需要改变整个依赖于硬件 的低级代码,而 不需要改变操作系统和应用程序。依赖于硬件的这一层称为板级支持包 B S P,B o a r d S u p p o r t P a c k a g e)。板级支持包是 运行Vx Wo r k s 的任何 目标板都需要的。B S P D e v e l o p e r S K i t 使开发者很容易地在用户硬 件上使用Vx Wo r k s;如果使用商业硬件,Wi n d R i v e r 提供 了2 0 0 0 个板级支持包。当为用 户板开发板级支持包时
17、,开发者可以获得大量的标准设备驱动程序,这些程序对应于所 有的 目标体系。(8)操作系统选件操作系统选件产品为开发者提供 了意想不到的特性和操作 系统扩 展。这些选件主要包括:板级支持包开发工具 B S P D e v e l o p e r S Ki t 1;支持闪存文件系统的T r u e F F S f o r T o r n a d o l I:支持 图形应用程序;支持虚拟 内存管理的V x V MI;支持多处理的Vx MP、V x D CO M和Vx F u s i o n。3 V x W0 r 操作系统的基本构成(1)板 级支持 包B S P(B o a r d S u p p o
18、 r t P a c k a g e)B S P 是系统用来 管理外设的部 分,对各种板子的硬件功能提供 了统一的接 口。它 由初始化和驱动程序两部分组成。所 谓初始化是指从系统上 电复位开始直 lJ wi n d k e r n e l 和u s r R o o t 根任务启动这段时间系统 的 执行过程。驱动程序就是一些包含I O操作的子函数。初始化包括 C P U I n i t、Bo a r d I n i t 和S y s t e m I n i t。CP U I n i t 初始 化C P U的内部 寄存 器。B o a l d I n i t 初始化智能I O的寄存器,将d e v
19、 i c e 打通。S y s t e m I n i t 为系统的运行准备数 据结构,进行数据初始化。每个板级支持包包括一个R OM启动(B o o t R OM)或其他启动机制。(2)微 内核wi n d 微 内核w i n d 是Vx Wo r k s 的核心,它包括多任务调度(优先级抢 占方式)、任务间的通信、同步和互斥、中断处理和 内存管理机制等。(3)网络 系统V x Wo r k s 提供 了对其他 网络和T C P I P 网络系统的”透明”访 问,包 括与B S D套接字兼容的编程接 口、远程过程 调用(R P C)、S N MP、远程文件访问以及 B OO T P 和AR
20、P 代理。所有的Vx Wo r k s 网络机制都遵循标准的I n t e r n e t 协议。(4)文件 系统V x Wo r k s 提供了适合于实时应用的文件系统。主要包括与MS DO S 兼容的文件系统、与R T 一 1 1 兼容的文件系统、R a w Di s k 文件系统和S C S I 磁带设备。(5)I O系统Vx Wo r k s 提供了一个快速灵活的与AN S I C兼容的I O系统,包括 U N I X标准的缓冲I O和P OS I X 标准的异步I O。三、Vx W o r k s 启 动 1 启 动ROM 在开机时 目标机启动R OM中的代码被执行。启动R OM 不
21、包括V x W0 r I s。-37-维普资讯 http:/ 杨 睿:一种嵌入式操作系统v x W0 r k s 在主机上的V x Wo r k s 系统i ma g e 是个对象模块。启动RO M代码:允许设置启动参数;经 由网络,可 以下载Vx W 0 l 到 目标机 内存 中;开始运行Vx Wo r k s。主要的启动参数:b o o t d e v i c e 网络接 口 h o s t i n t e r n e t a d d r e s s 启动的主机的地址 p a t h o f Vx Wo r k s i ma g e 在网络 问传输的文件 t a r g e t i n t
22、 e r n e t a d d r e s s 定义 目标机地址 C P U n u mb e r 每个主板有不同的数字 2 改变启动参数 有N VR AM的 目标机主板可以保存重启之前的变动。也可 以用默认的参数建立新的启动RO M。3 重启 在开机或冷启动时,R AM需要清空,防止读未初始化的内存时发生奇偶错。Wa r m 启动时就可跳过此步。VME 环境中,a b o r t 可以产生一个wa r m启动,l e s e t 可以导致一个冷启动。4 可选择的启动方案 s h a r e d me mo r y n e t w o r k允许 目标机通过VME b u s 启动。从本地硬
23、盘启动。使用F T P 服务器,从另一台机启动。通过 串口启动,使用S L I P、C S L I P、P P P 或T S F S,但比从以太网启动慢。使用DHC P 或B O OT P 获取启动参数,然后使用T F TP 下载启动文件。可以将Vx Wo r k s 放入R O M中。四、运行T o r n a d o 1 目标服务器(1)在启动一个 目标机之后,必须启动一个 目标服务器(s o f t t a r e c o n c e p t,目标机和 主机之间的i n t e r f a c e),使用T o r n a d o _q 具访问E 1 标机。(2)目标服 务器提供对开发工具需要的目标机的资源的管理:与在 目标机 上的调试 代理通信;动态模块的装载和卸载;主机为 目标机驻 留的符号表;在 目标机上为主 机工具分配内存;虚拟I O工具;所有的T o l n a d 0 工具使用WT X与 目标服 务器通信。(3)w t x r e d 必须在 目标服务器和工具运行之后运行。(4)工具,注册表和 目标服务器可以运行存不同主机上。(5)目标服务器调度工具与目标机的交互 2 目标服务器提供的功能 使用 以太网、串口、N e t R OM和定制连接通信。主机驻存的 目标机符号表。动态模块的装载和卸载。目标机的虚拟I O路径。3 8 维普资讯 http:/
限制150内