资源描述:
《实时操作系统VxWorks下I_O设备驱动程序的编写技巧》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《做计算机信息》2001年第,7卷第斗期实时操作系挽Vx0rks下UO议备驱动程的W序编写杖巧Developmentof1/0Devi七eDriversunderRTOSVXWbrks尚涛施亮吴智铭:,,,自动化等。摘要近年来嵌入式设备得到高度重视在通信易。兀心,)领城的应用也越来越广泛在开发嵌入式设备所用的实时操系统相当于一个交换机用于把M请求转发给合适的。,作,Vxorks。驱动程序以进行处理同时系统也提供了几个库来支持标准的系统中w是较受欢迎的的一种开发嵌入式设备字符设备和块设备。经常遇到的一个问题就是如何编写高效可靠的设备驱动程,序。orks下设备驱动程序开发
2、的几个主要方面进字符设备的驱动程序和M〕系统直接作用调用关系如图1本文对Vxw。xos’iDrvltalV了,为初涉xos。所示字符设备调用驱动程序安装函数osnslo在wrk行详细介绍Vwrk的开发人员提供有参考中安装驱动程序。该函数有7,关健词:Vx丫VorkS驱个参数分别指向驱动程序提供的动程序实时操作系统:Create,Delete,open,Close,rite,ReioCil。标准沁函数Wad和,,,如果设备功能上不支持.j‘Abs。,ct:T孚eatresehehpaidto有些函数不一定要实现对应的参数可片、‘、一甲比Jodayfertsbeen明~为
3、NULL。IosDrvlnstallo只是为驱动程序在驱动程序表中分配了theemeddevieesiehempfoyedinmanyfields才仓帝主bedwhare一个位置,iosDevA。.要使用驱动程序还要调用设备安装函数doineludingeunieati,tonen邵nring,d50ononauomatieanIosDADEVweHDR,omznevd把设备名和驱动程序号写到数据结构中AsotheRTOSReal一TiOPeratingstem)neof(me勿for并把它加到系统的设备列表中。.developingeeddeviees,0seoes
4、veularmbeddVxWrkbem汀即p,再块设备驱动程序和文件系统作用由文件系统与闭系统InngVxorksina,thende即Pl外wengineeri雌mai心ulty。sDrvlt,are作用块设备驱动程序不使用innsalO来安装驱动程序而thatProgrmerseneonfl习nted初th15theamareOft是通过初始化块设备描述结构BLK-DEV或顺序设备描述结构eenteeteeveeve.sdvel叩moffiienandreliabldi面rsThiSEQseDEV,。来实现驱动程序提供给文件系统的功能块设备驱动aerseneeae
5、tsns.pppontsid面1thprim即公Peithiregard程序在系统中的调用关系如图2所示。类似的,块设备驱动程序.li11PovideausefurefereneerVxosbrssDA,拓lfowrkegizme不使用ioevdo来把驱动程序装入沁系统而是使用文件系veross。,Key川.:Vx丫VorkS;Dd;RTOS统设备初始化函数如dFDevlnito等来完成实际上文件系统wo把自己作为一个驱动程序装到沁系统中,并把请求转发给实际的设备驱动程序。1前言rVerenOilOP在工业自动化,,国内系统开发很多是基于通信等领域DriVetZC10
6、3eds,D。rV心r3Cr.eWinowUinx或os操作系统但是这些操作系统本身不是设Oiat计用来开发实时嵌入式设备,,因而导致一些无法避免的问题比}}}}如无法快速响应中断,操作系统自身占用资源过多等。要克服这,图些问题根本的方法就是选用开发实时嵌入设备的专用操作系1NX,,xors。统如QpSOSVwk等ve,一用户调用Orirl文统件1系BIkRd在嵌入式设备开发中所使用的众多实时操作系统里vxOriverZBIkwrWork。。、以其卓越的性能占据了重要的地位它具有小巧的内核Oriver3BIkRt文件系广泛的硬件支持以及第三方软件开发商的支持等优点。类
7、UNIX统2风格和POSIX规范兼容性使得广大UNIX程序员可以轻松地掌握该系统。同时,VxW0。rk所具有的良好开发环境极大地提高了程序开发的效率。Vxorks,图2在使用w开发嵌入式系统时一个重要的问题就是如何为系统中的关键写。2.2沁设备出高效的驱动程序驱动程序的结构xo。:,本文讨论了Vwrk下设备驱动程序的结构和编写设备驱动程驱动程序的结构包括三个部分初始化部分函数功能部分。,序。和中断服务程序ISR初始化部分初始化硬件的一些关键问题分配设备所需的资源,完成所有与系统相关的设置。如果是字符设备,首先调用2驱动程序与系统的关系及其结构,,io