(3)实现I/O函数
安装驱动和创建设备完成后,就需要实现I/O函数,即填充驱动表中的函数了。对于字符型设备而言,打开设备操作与创建设备操作通常使用相同的函数,底层驱动中都用xxOpen()完成;而设备驱动一旦安装,就无需删除,remove()无效,因此在底层驱动中xxRemove()为空。下面给出了ppiDrv驱动中ppiRead()的实现模板。
完成以上3步,就基本实现了驱动程序,此时,在应用程序中可以用标准接口函数进行操作了。以打开ADT700中定时/计数器(驱动为pitDrv)为例。
此时,在shell用iosFdShow命令可以观察到新创建的文件描述符"/pit/timer"。
4 结 语
本文以数据采集卡驱动程序为例,详细介绍了Vx-Works操作系统下字符设备驱动程序的开发过程。本驱动程序封装了ADT700几乎所有功能,支持标准的I/O系统接口函数。用户可将ADT700当作文件,只需定义文件名建立文件描述符,而无需关心底层实现,即可完成对他的操作,从而缩短了应用程序开发时间,提高了效率。