- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VxWorks下字符设备的驱动开发
摘要:随着VxWorks操作系统在嵌入式系统中的应用,VxWorks下产品的开发和应用也越来越广泛。开发嵌入式设备经常遇到的一个问题就是如何编写高效可靠的设备驱动程序。该文对VxWorks下设备驱动程序开发的几个主要方面以及如何配置 PCI总线设备等进行了详细介绍,为相关的开发人员提供了很好的参考。
关键词:VxWorks;字符设备;驱动开发;PCI设备;select功能
中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)01-0121-02
VxWorks Device Driver Development Under the Character
GUO De-lei
(China Flight Test Establishment, Xian 710089, China)
Abstract: With the VxWorks operating system in embedded system, VxWorks under the product development and applications are increasingly widespread. Development of embedded devices is a problem often encountered in how to write efficient and reliable device drivers. In this paper, VxWorks device driver development under the main aspects and how to configure the PCI bus devices are described in detail for the relevant developers a good reference.
Key words: VxWorks; character device; driver development; PCI device; select function
VxWorks是一个基于抢占式的实时操作系统,它以其高度的可靠性、优秀的实时性、灵活的可裁性广泛应用到越来越多的嵌入式装置中。在这些嵌入式装置中,往往有一些自研的板卡设备,要使这些板卡支持VxWorks操作系统,就必须开发相应的设备驱动程序,而这些板卡设备绝大多数又都属于字符设备类。因此,本文针对这种情况,详细讨论了在VxWorks操作系统下字符设备的驱动程序开发问题。
1 相关概念
为了让读者对驱动程序开发有一个全面的了解,首先介绍一下设备驱动程序的相关概念。
设备驱动程序是指直接控制设备操作的那部分程序。通俗地说,就是对设备的I/O端口地址进行读写操作的那类程序。
设备驱动程序按设备类型的不同可划分为字符设备、块设备和网络设备3大类,这其中的字符设备是指能够像字节流一样被访问的设备,你可以简单地把它当成一个文件来访问,绝大多数板卡设备都属于字符设备。
设备驱动程序通常应具有6个主要功能:设备初始化、打开设备、关闭设备、读设备、写设备以及对设备进行控制。
2 调用方式
设备驱动程序本身不能主动执行,它只能被操作系统或用户程序调用。嵌入式系统调用设备驱动程序的方式有3种:即应用程序直接调用、应用程序通过操作系统内核调用以及应用程序通过操作系统的扩展模块来调用。这里,我们以最符合开发规范的第2种方式来讲解,因为据此开发的应用程序具有良好的可移植性。
在这种方式下,应用程序访问板卡设备是通过VxWorks的I/O子系统进行的。I/O子系统提供了一套标准的与设备无关的I/O接口函数,对于字符设备来说,一共有7个函数:creat(),remove(),open(),close(),read(),write(),ioctl()。它们之间的关系见图1。
3 应用程序和设备驱动程序之间的联系
VxWorks的I/O子系统还提供了3张表:设备列表、文件描述符表和设备驱动程序描述表,正是通过它们实现了应用程序和设备驱动程序之间的联系。
设备列表是一个大小可变的动态双向链表,每添加一个新设备时,链表就增加一个环节。例如:添加两个相同的设备,虽然这两个设备的驱动程序相同,但链表仍旧会增加个两环节而不是一个。设备列表中的每一个节点被称为设备描述符,它的结构组成如下:
Typedef struct xxDEV
{
DEV_HDR devHdr;// 设备头
BOOL ReadyToRead;// 设备读就绪
BOOL Re
您可能关注的文档
- Photoshop 在高职院校教学中的探讨.doc
- Photoshop色彩模式浅探.doc
- Photoshop应用中常见问题及解决方法.doc
- Photoshop中蒙版的作用及与渐变工具合作使用的优势.doc
- PHP读取MP3文件ID3标签信息.doc
- Photoshop照片处理技巧初探.doc
- Photoshop中精确选择图像的方法.doc
- PIC单片机应用于小区监控系统.doc
- PHP中XML的应用.doc
- PID神经网络在电炉控制系统中的应用.doc
- 实施指南《GB_T41906 - 2022 超氧化物歧化酶活性检测方法实施指南解读》.docx
- 实施指南《GB_T41976 - 2022 停车设备智能控制与管理系统》实施指南.docx
- 实施指南《GB_T41979.5-2022 搅拌摩擦点焊》实施指南.docx
- 实施指南《GB_T42013-2022信息安全技术快递物流服务数据安全要求》实施指南.docx
- 实施指南《GB_T42101-2022 游乐园安全》实施指南.docx
- 新解读《GB_T 27920.1-2011数字航空摄影规范 第1部分:框幅式数字航空摄影》.docx
- 实施指南《GB_T41892-2022 智能船舶机械设备信息编码指南》实施指南.docx
- 实施指南《GB_T41908-2022 人类粪便样本采集与处理》实施指南.docx
- 实施指南《GB_T41977-2022 包装条码标准》实施指南.docx
- 实施指南《GB_T41979.2-2022 搅拌摩擦点焊铝及铝合金焊接接头设计》实施指南.docx
文档评论(0)