wb&fly
驱动牛犊
驱动牛犊
  • 注册日期2001-08-06
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2821回复:2

PCI板的地址空间如何配置

楼主#
更多 发布于:2001-08-28 16:48
如果我对自己做的PCI板(9054)进行数据的读取时,应如何进行,它的地址空间我应如何配置????

最新喜欢:

xf.driverxf.dri...
hglzw
驱动小牛
驱动小牛
  • 注册日期2001-06-12
  • 最后登录2006-03-03
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-09-20 22:00
如果你使用的是win98,先在pci卡上的eeprom中写入pci配置空间数据,从中指明要申请的i/o范围,即需几个i/o空间,每个i/o空间需多少个连续的i/o地址.要注意的是写0的是有效的,比如需16个i/o地址,则应写F0.将卡装在电脑上,启动后,WIN98会自动找到你的卡,让你装入驱动程序,最重要的一点你的驱动程序必须响应系统的PNP_NEW_NODE
消息.驱动程序装完后,系统会跟据你PCI卡上的请求分给你相应的IO地址.但是你若对PCI卡的I/O地址进行操作,你必须先获得I/O基地址.
方法有好几种:
1.使用0XFC8,0XFC地址.
2.采用节点遍历,从0节点开始直到你找到VENDORID和DEVICEID符合要求.

...
[img]http://www.kinboh.com/images/5130.jpg[/img]
hong
驱动小牛
驱动小牛
  • 注册日期2001-09-19
  • 最后登录2005-12-16
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-09-24 22:08
the steps of pci card i/o:

1) make i/o requirement in your pci interface chip;
2) at boot up time, bios will assign your required i/o resources, i/o address range.
3) the assigned i/o address reange will write into the pci header space, bar0, bar1, ... at your pci card.
4) the driver StartDevice() routine will receive these resources from PnP manager, you just keep them inside device extension for later use;
5) once you got the i/o address range, you can use
READ_PORT_ULONG()
WRITE_PORT_ULONG()
...
to do i/o.

that's it.
游客

返回顶部