首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 嵌入式系统 > 设备驱动程序的编写.doc

设备驱动程序的编写.doc

资料介绍
vxWorks下设备管理部分代码导读

VxWork下设备驱动程序存在于硬件设备和上层应用程序之间。设备驱动程序直接管理硬
件设备,并对上层应用程序提供屏蔽了地层硬件特性的接口调用。
驱动程序只提供几个低级的I/O函数完成简单的数据输入和输出功能,而其它具体的高级
协议,如面向字符设备的协议和面向块设备的协议,则是由与设备无关的I/O系统完成。
I/O系统为用户的I/O请求寻找具体的驱动程序。
I/O系统管理着驱动程序,把应用程序的I/O请求转发给合适的驱动程序进行处理。
I/O系统为驱动程序维护着三张表,
(1)文件描述符列表FD
TABLE,维护着已打开设备的句柄,驱动该设备的驱动程序号,设备相关参数的指针这三
者的对应关系。
(2)设备描述链表DEVICE
LIST,维护着系统中存在的设备号,驱动该设备的驱动程序号,设备相关的参数的指针
三者的对应关系。
(3)驱动程序列表DRIVER
TABLE,维护着驱动设备的驱动程序号,和该设备对应的七个基本I/O操作的函数(如xx
Open..等)的入口地址这两者的对应关系。
I/O系统对这三个表的操作大致过程为:
当调用creat(..)或oPen(...)时,首先在设备描述链表中根据设备名找到相应的项(若

create,则创建响应的表项),根据驱动程序号找到底层实现代码xxCreate(..)或xxOp
en(...),I/O系统将驱动程序号及xxCreate(...)或xxOpen(...)返回的指向设备相关参
数的指针添入文件描述符列表中,最后,返回在文件描述符列表中添加的项在该表中对
应的序号,即文件句柄,提供给后续的I/O操作使用。
当调用read(...)或write(...)时,根据文件句柄,在文件描述符列表中找到对应的表项
,得到操作该设备的驱动程序号,I/O系统再根据驱动程序列表得到响应的底层驱动实现
函数xxRead(...)或xxWri
标签:vxWorks设备驱动
设备驱动程序的编写.doc
本地下载

评论