积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 嵌入式软件 >> VXWORKS
  相关分类: LINUX | WINCE | UC/OS | Bootloader | 下载 | VXWORKS | 网络协议 | JAVA | 汇编 | 驱动设计 | Symbian | XP Embedded | Nucleus | 新产品 | 相关文章 | 综合技术 |
VxWorks嵌入式实时操作系统结构简析
 
作者:未知   来源:本站原创    点击数:528   更新时间:2007-11-28
您可以添加到网摘 让更多人关注此文章:

    摘 要:本文简  要介绍和分析了VxWorks嵌入式实时操作系统的实现结构. VxWorks是Windriver公司开发的为实时嵌入式系统设计开发的操作系统软件,为程序员提供了高效的实时任务调度、中断管理,实时的系统资源以及实时的任务间通信. 其核心功能主要有微内核,任务间通信机制,网络支持,文件系统和I/O管理,POSIX标准实时扩展,以及C++等其他标准支持。

   关键词:嵌入式 实时  操作系统 微内核 任务  中断 调度  目标系统

  一 VxWorks实时操作系统背景
   
  用户在开发具有日益复杂的32位嵌入式处理器的产品时,需要一个用来连接产品应用程序和底层硬件的操作系统。用户所寻求的操作系统应该具有的最重要的特点包括:

   可靠性高的实时性能
   可下载到最终产品的板上内存的丰富和灵活的功能模块集
  与综合全面的主机开发环境的可协同工作。

  VxWorks操作系统是美国WindRiver公司于1987年设计开发的一种嵌入式实时操作系统(RTOS),是Tornado II嵌入式开发环境的关键组成部分。
   
  VxWorks是Windriver公司开发专门为实时嵌入式系统设计开发的操作系统软件,为程序员提供了高效的实时任务调度、中断管理,实时的系统资源以及实时的任务间通信。应用程序员可以将尽可能多的精力放在应用程序本身,而不必再去关心系统资源的管理。该系统主要应用在单板机、数据网络(以太网交换机、路由器)和通信方面等多方面。通过对VxWorks的研究,可以使我们对嵌入式操作系统的研究和开发更进一步,尤其对国内的类似研制厂家有借鉴意义。
   
  VxWorks操作系统的主要功能
   
  目前VxWorks操作系统的版本为VxWorks 5.4,其核心功能主要有:

  微内核wind
  任务间通信机制
  网络支持
  文件系统和I/O管理
  POSIX标准实时扩展
  C++以及其他标准支持
     
  这些核心功能可以与WindRiver系统的其他附件和Tornado合作伙伴的产品结合在一起使用。

  二 VxWorks实时操作系统的简介

  VxWorks实时操作系统包括微内核wind、网络支持、文件系统和I/O管理、C++和其他标准支持等核心功能。

  1. 微内核设计
   
  处于VxWorks实时操作系统核心的是高性能的微内核wind。这个微内核支持所有的实时特征:快速任务切换、中断支持、抢占式和时间片轮转调度等。微内核设计减少了系统开销,从而保证了对外部事件的快速、确定的反应。
   
  运行环境也提供了有效的任务间通信机制,允许独立的任务在实时系统中与其行动相协调。开发者在开发应用程序时可以使用多种方法:用于简单数据共享的共享内存、用于单CPU的多任务间信息交换的消息队列和管道、套接口、用于网络通信的远程过程调用、用于处理异常事件的信号等。为了控制关键的系统资源,提供了三种信号灯:二进制、计数、有优先级继承特性的互斥信号灯。

  2. 可裁剪的运行软件
   
  VxWorks之所以设计为具有可裁剪性,是为了使开发者能够根据自己的应用程序需要,而不是根据操作系统的需要,来分配稀少的内存资源。从需要几个KB字节内存的深层嵌入式设计到需要更多的操作系统的功能的复杂的高端的实时系统,开发者也许需要从100多个不同的选项中进行选择以产生上百种的配置方式。许多独立的模块都是在开发时要使用而在产品中却不再使用。
   
  而且,这些子系统本身也是可裁剪的,这样就允许开发者为最广泛的应用程序进行更为优化的VxWorks运行环境配置。例如,如果应用程序不需要某些功能模块,就可以将它移出ANSI C运行库;如果应用程序不需要某些特定的内核同步对象,这些对象也可以忽略。还有,TCP、UDP、套接口和标准Berkeley服务也可以根据需要将之移出或移入网络协议栈。
   
  这些配置选项可以通过Tornado II的项目工具图形接口轻易地选择。开发者也可以使用Tornado II的自动裁剪特性,自动地分析应用程序代码并合并合适的选项。

  三 VxWorks操作系统的基本结构

  VxWorks操作系统的基本构成部件主要有以下五个部分:

  板级支持包BSP(Board Support Package)
  微内核wind
  网络系统
  文件系统
   I/O系统

 

  VxWorks 操作系统包括了板级支持包BSP(Board Support Package)、进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分。VxWorks只占用了很小的存储空间,并可高度裁减,保证了系统能以较高的效率运行。

  1.板级支持包 BSP(Board Support Package)
   
  板级支持包对各种板子的硬件功能提供了统一的软件接口,它包括硬件初始化、中断的产生和处理、硬件时钟和计时器管理、局域和总线内存地址映射、内存分配等等。每个板级支持包括一个 ROM 启动(Boot ROM)或其它启动机制。

  2.高性能的实时操作系统核心 wind
   
  [1].VxWorks 的核心,被称作 wind,包括多任务调度(采用优先级抢占方式),任务间的同步和进程间通信机制以及中断处理,看门狗和内存管理机制。一个多任务环境允许实时应用程序以一套独立任务的方式构筑,每个任务拥有独立的执行线程和它自己的一套系统资源。进程间通信机制使得这些任务的行为同步、协调。

  [2].wind使用中断驱动和优先级的方式。它缩短了上下文转换的时间开销和中断的时延。在 VxWorks 中,任何例程都可以被启动为一个单独的任务,拥有它自己的上下文和堆栈。还有一些其它的任务机制可以使任务挂起、继续、删除、延时或改变优先级。

  [3].wind 核提供信号量作为任务间同步和互斥的机制。在 wind 核中有几种类型的信号量,它们分别针对不同的应用需求:二进制信号量、计数信号量、互斥信号量和 POSIX 信号量。所有的这些信号量是快速和高效的,它们除了被应用在开发设计过程中外,还被广泛地应用在 VxWorks 高层应用系统中。对于进程间通信,wind 核也提供了诸如消息队列、管道、套接字和信号等机制。

  3.网络设施
   
  VxWorks的网络结构如图所示,它提供了对其它网络和 TCP/IP 网络系统的"透明"访问,包括与BSD套接字兼容的编程接口,远程过程调用(RPC),SNMP(可选项),远程文件访问(包括客户端和服务端的NFS机制以及使用RSH,FTP 或 TFTP的非NFS机制)以及BOOTP 和 ARP 代理。无论是松耦合的串行线路、标准的以太网连接还是紧耦合的利用共享内存的背板总线,所有的 VxWorks 网络机制都遵循标准的 Internet 协议。

 

  4.文件系统
   
  VxWorks 提供的快速文件系统适合于实时系统应用。它包括几种支持使用块设备(如磁盘)的本地文件系统。这些设备都使用一个标准的接口从而使得文件系统能够被灵活地在设备驱动程序上移植。
   
  VxWorks 也支持 SCSI 磁带设备的本地文件系统。VxWorks I/O 体系结构甚至还支持在一个单独的 VxWorks 系统上同时并存几个不同的文件系统。
VxWorks 支持四种文件系统: 

   dosFs
   rt11Fs
   rawFs
   tapeFs。
   
  另一方面,普通数据文件,外部设备都统一作为文件处理。它们在用户面前有相同的语法定义,使用相同的保护机制。这样既简化了系统设计又便于用户使用。

  5.I/O 系统

  VxWorks 提供了一个快速灵活的与 ANSI C 兼容的 I/O 系统,包括

   UNIX 标准的缓冲 I/O
   POSIX 标准的异步 I/O
  VxWorks 包括以下驱动程序:

  网络驱动
  管道驱动
  RAM盘驱动
  SCSI驱动
  键盘驱动
  显示驱动
  磁盘驱动
  并口驱动

  四Tornado II系统开发工具

  了解Vxworks操作系统的构成,对我们开发目标系统上的软件和调试有重要意义,同时也能链接其内核的许多功能方便共享。在Tornado集成环境上的开发其基本点是动态链接与加载,即Tornado允许开发者增量地将目标模块加载到目标系统上去,这种动态的链接和加载功能是Tornado系统的核心功能,可以使开发者省去通常的开发步骤:在主机上将应用程序与内核链接起来,然后将整个应用程序下载到目标系统上去。这样,编辑-测试-调试的周期会大为缩短;而且,所有的模块都是可以共享的,主机上的应用程序模块也不需要重新链接,所以,加载目标模块到运行中的VxWorks目标系统中以达到调试和重新配置的目的成为可能。关于如何调试VXWORKS目标系统本文不赘述。

  参考文献:
 
  1. Windriver System Inc. “Tornado Training Workshop” ,ver5.1,May 1999.
  2.Windriver System Inc. “Vxworks Programmer’s Guide”, v5.4,May 1999.
  3.  Windriver System Inc. “Tornado Getting Started Guide”,v2.0 ,May  1999.



相关文章
· 存储巨头恒忆应对危机 拓展国内闪存市场[61]
· 一种易于移植和使用的文件系统FatFs Moule[159]
· 2008嵌入式设计调查:工程师时刻都在赶项目[86]
· 基于C语言设置TMS320 DSP中断向量表[157]
· 基于FPGA的超高速雷达实时采集存储系统[106]
热门评论排行
·VHDL设计中电路简化问题的
·ARM嵌入式系统基础教程(N
·江苏嵌入式Linux教育培训
·ARM处理器应用开发4步骤
·锐极LINUX驱动培训班定于

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
新兴半导体技术催生绿色节能的大学校园
电子系统创新促进汽车走向环保与节能
意法CEO携新品巡游中国 
未来3年新余需要8万光伏产业人才
看好中国未来发展:瑞萨提升在华芯片产
中国LED发展神速将成为未来照明产业
剖析联发科技2009年五大产品策略
突破四大障碍 蓝牙立体声耳
瑞萨向德国企业出售当地半导体前工序工
产业紧缩 PCB业或将提前
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
[转]教你如何进行电磁兼容设计...
[转]汽车和专业音响原厂设计原...
诺基亚,三星手机原厂图纸和PC...
电子元器件可靠性和失效分析经典...
[建议]FPGA设计技巧与实例...
Xilinx FPGA设计快速...
基于CPLD的各种设计实例和分...
教你如何学会MSP430单片机...
凌阳单片机教程(共8章)非常详...
[建议]学习PIC系列单片机的...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网