cysnew
驱动牛犊
驱动牛犊
  • 注册日期2002-10-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1534回复:10

readfile 如何指定读的是pci 多个地址空间的哪个空间 (急,谢谢!)

楼主#
更多 发布于:2003-07-21 21:17
我的PLX9054卡上有三块内存空间,分别映射为BAR0,BAR2,BAR3,其中BAR0为存储器访问寄存器,而BAR2和BAR3分别为内存空间。
请问如何在应用程序的ReadFile中区分这两块空间?
谢谢!

最新喜欢:

mapoflmapofl
除了幸福,还有自由和平静。
RenZhG1011
驱动小牛
驱动小牛
  • 注册日期2003-04-10
  • 最后登录2013-01-31
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-22 22:15
区分在驱动程序中进行比较好吧?
如果要在应用程序中区分的话,好象驱动程序应该是分层的。
renzhg www.unix-driver.org
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-23 16:21
应该用DeviceIOControl,利用不同的变量传下来,
在驱动中分别进行处理。
助人乃快乐之本 有人给分就更快乐了 :-)
xwh
xwh
驱动牛犊
驱动牛犊
  • 注册日期2002-02-11
  • 最后登录2004-01-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-07-25 15:28
请grant说的再详细一些,是不是在驱动程序里要判断参数后,再选择映射空间?用哪个函数可以选择映射空间?在应用程序里使用readfile函数的话,是不是就只能对应一个空间,但readfile函数不是也可以传地址吗?那么为什么不能对这个地址作判断后在选择一个空间呢?
AthlonxpX86
驱动小牛
驱动小牛
  • 注册日期2002-11-10
  • 最后登录2013-07-17
  • 粉丝0
  • 关注0
  • 积分29分
  • 威望43点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-26 17:25
这些空间应该是对应用程序不透明的啊,他应该是由驱动程序来操作,用DeviceIOControl间接的来操作好一些
AthlonxpX86(桃源村)
xwh
xwh
驱动牛犊
驱动牛犊
  • 注册日期2002-02-11
  • 最后登录2004-01-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-07-27 09:51
DeviceControl有好几个输入参数,在应用程序里调用DeviceIoControl(Handle, Code,
   InputData,
   InputLength,
   OutputData,
   OutputLength,
   &Feedback,
   &Overlapped);
就会把参数传递到驱动程序中的DeviceControl
在驱动程序对code进行判断,对相应的par读写,这是就需要用KMemoryRange映射要访问的空间,然后 再读写,建议你看一下water oney的书
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-07-28 09:32
对不起,几天没来,没看到你在问我。
谢谢楼上的回答。是这样的。
用DeviceIOControl可以方便地进行各种选择,
而用ReadFile就不行。
助人乃快乐之本 有人给分就更快乐了 :-)
cysnew
驱动牛犊
驱动牛犊
  • 注册日期2002-10-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-07-28 09:54
我刚刚试验过使用DeviceIOcontrol的办法。
确实可行。
自己先定义控制代码,然后通过这个代码在应用程序和驱动程序之间传递控制命令。
除了幸福,还有自由和平静。
cysnew
驱动牛犊
驱动牛犊
  • 注册日期2002-10-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-07-28 09:54
谢谢各位关注,我怎么给分?就10分了
除了幸福,还有自由和平静。
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-07-28 10:39
在每个回复的帖子下面是不是都有给分按钮的?
助人乃快乐之本 有人给分就更快乐了 :-)
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-07-28 11:31
你怎么都给我了...
别人也有帮忙答呀。
应该大家分一下的。
助人乃快乐之本 有人给分就更快乐了 :-)
游客

返回顶部