fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
阅读:1349回复:8

驱动与设备的关联!!10分相送!!~

楼主#
更多 发布于:2003-06-11 08:56
假如我有一个PCI板卡,并为此编写一个驱动程序,如何知道驱动是这个板卡工作,而不是为了别的呢。在驱动中如何保证它是打开一个板卡而不是别的板卡。驱动如何区分不同的板卡!
有了驱动,人才有了力量。
gongbin_net
驱动牛犊
驱动牛犊
  • 注册日期2003-06-18
  • 最后登录2005-06-07
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-18 18:42
通过使用mknod 设备名称 c 主版本 次版本 这个命令来建立和驱动程序和文件的关联。
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-06-11 20:29
Think you ken!!!
有了驱动,人才有了力量。
ken
ken
驱动牛犊
驱动牛犊
  • 注册日期2001-06-09
  • 最后登录2014-07-30
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-06-11 19:17
改变ID和windows改变INF中的ID不都一样吗。
驱动是内核信得过的,你甚至不用申请就可以使用任何资源!
PCI资源是可仲裁分配的,所以提供ID就可以找出设备分配了那些资源,而且设备所分配的资源是不会被其他设备使用的,0x10000-0x20000,是不会包含10个ISA的。

在哪儿都可以,只要你使用资源时知道资源就行了。不过一般都在init_module()中。
ken
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-06-11 18:19
再问一下,如果通过PCI设备的ID获取PCI设备的资源是否应该在init_module()中实现呢,还有没有别的地方。本人感觉别的地方不合适实现PCI资源的获取。以上是本人的理解,不知对不对,请各位驱友发言!!!!!
有了驱动,人才有了力量。
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-06-11 16:56
每个pci设备都有设备ID,通过这个ID来找设备
啊。

windows下,总线驱动程序已经获得资源,功能驱动程序只是去得到已经获取的资源。功能驱动程序是无权选择驱动的设备的,是设备通过INF文件选择驱动程序。而在linux下,虽然可以通过ID找设备,但是我只要改变一下ID,设备A的驱动就变成设备B的驱动了;而且我可以同时利用设备A、设备B的ID来找设备A、B的资源,驱动设备A、B。即在驱动中可以随意选择设备。
PCI设备还可以通过ID来选择设备,诸如ISA设备这样的设备就不行。假如,我的驱动选择的地址范围是0x10000-0x20000,而这一段地址里包含了10个ISA设备,那么这个驱动就是这10个设备的驱动了。
不知的理解对不对,请各位驱友指点!!!!!
有了驱动,人才有了力量。
flycat0101
驱动小牛
驱动小牛
  • 注册日期2002-06-24
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望22点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2003-06-11 11:15
在任何操作系统下,驱动都和硬件直接相关,所以不可能驱动所有的设备。
我思,故我在
ken
ken
驱动牛犊
驱动牛犊
  • 注册日期2001-06-09
  • 最后登录2014-07-30
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-06-11 10:20
每个pci设备都有设备ID,通过这个ID来找设备
啊。
ken
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-06-11 10:13
是否可以说一个驱动可以驱动所有的设备,驱动本质上是与设备无关的。这一点似乎与windows下的驱动不一样。
兄弟们,过了钌分呀!!
有了驱动,人才有了力量。
游客

返回顶部