VxWorks设备驱动入门示例程序Hello Wold

本文详细介绍了VxWorks系统中设备驱动的三张核心表:Fd Table、Dev Table和Drv Table,以及如何通过iosDrvInstall()和iosDevAdd()函数将驱动程序安装到系统中。通过示例程序解释了设备驱动的运行过程,帮助初学者理解驱动程序的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VxWorks的设备驱动程序就靠着三张表来维护:我把它们叫做 Fd Table、Dev Table、Drv Table,分别表示文件描述符表、设备列表、驱动程序表。用英文表示是想说明这些表的名字与我们使用设备驱动程序时的关系:想一想,我们在调用设备驱动程序时,一般是用open、read、write、ioctl函数,调用这些函数的时候都要使用一个句柄即文件描述符,这便是fd Table即文件描述符表。文件描述符表中都有什么东西呢?可以在终端模式下用命令iosFdShow函数来查看已经使用的文件描述符内容:

->iosFdShow

   fd         name                        drv
  3           /pcConsole/0           2
  4           /vio/1                          7

 

从上面的结果可以看到,Fd Table中包含有句柄号(fd),对应的设备名称(name),驱动号(drv),就是这样一个简单的表联系着另外两个重要的表:Dev Table和Drv table。


dev tabel中维护者系统中所有的设备,在命令行中敲入devs便可以查看dev Table的内容了,就是设备列表了:
->devs

drv name
  0 /null
  1 /tyCo/0
  1 /tyCo/1
  2 /pcConsole/0
  2 /pcConsole/1
  4 /ata0a
  6 host:
  7 /vio
  8 /ghDev
  9 xxdev
从结果中可以看到,dev table中包含两个内容:一个是驱动号(drv),一个是设备名称(name),仔细对比上面的dev tabel和fd table就可以发现,这两个表中设备名称和驱动号是对应着的。

然后再看看Drv table ,这个表叫做驱动程序表,顾名思义,这个表中维护者我们所有的驱动程序,同样,我们先在命令行里查看一下它的内容吧

-> iosDrvShow
drv    create          delete             open           close             read            write            ioctl
  1    388660          0                   388660      3886a0     388eb0

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值