muyong
驱动牛犊
驱动牛犊
  • 注册日期2003-04-07
  • 最后登录2004-02-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1750回复:6

pci驱动开发问题(80分!!!)

楼主#
更多 发布于:2003-10-27 21:29
//似乎最多能给20分,但是可以补给够80(童叟无欺,货真价实)
1。有三个地址寄存器:
pci配置寄存器中有一个,PCI Base Address 2 for Accesses to Local Address Space 0
这个寄存器是不是存储了PCIBIOS分配给空间0的PCI地址?
Local寄存器中有另外两个
Local Address Space 0 Range,比如它的值为00FF0000h(reset后的值)是确定空间0的范围的寄存器地址,这个寄存器的高三位31:28)似乎一直为0,表示一直用来decode,这个decode是不是应该理解为发送到pci总线上面的地址的前几位用来判断是否是针对空间0的,但是为什么它的27:4位中表示用来decode的位却是一呢?像上面的FF。
Local寄存器中还有一个,Local Address Spcace 0 Local Base Address(Remap)
这个寄存器是不是就是空间0在Local总线上面的地址?
2。怎么来作驱动程序的dll动态连接库,供应用程序使用调用呢?
ReadFile函数参数里面不包括想访问的内存空间的偏移地址,怎么
来访问一个特定的pci卡上的内存空间呢?

mansd
驱动牛犊
驱动牛犊
  • 注册日期2001-07-07
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-27 22:14
pci配置寄存器中有一个,PCI Base Address 2 for Accesses to Local Address Space 0,这个寄存器是不是存储了PCIBIOS分配给空间0的PCI地址?

-------------------------------------
你要么全使用英文,要么全使用中文。实在看不懂你的意思?
有原文吗?
为实现人类的大同而奋斗
ttzwater
驱动小牛
驱动小牛
  • 注册日期2003-06-07
  • 最后登录2011-10-04
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-29 17:54
PCI Base Address 2 for Accesses to Local Address Space 0
这个是你板卡上的器件的映射地址

Local Address Space 0 Range
这个是影射的内存段的大小。(这个没用过,不是很确定)

Local Address Spcace 0 Local Base Address(Remap)
这个是Spcace 0的本地地址(就是板卡上的地址),与PC的地址不一样的。

2。ReadFile函数参数里面不包括想访问的内存空间的偏移地址,怎么
来访问一个特定的pci卡上的内存空间呢?

在驱动里面,响应ReadFile那段代码里面设置访问地址就行了,也可以把地址放在缓冲区里面,在驱动里再读出来用。
qijianggood
驱动大牛
驱动大牛
  • 注册日期2002-07-12
  • 最后登录2004-12-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-11-02 11:44
建议楼主先看看pci bios标准,上面讲得比较清楚。

还有,不是每个pci设备的pcibios都是相同的,这个要看具体的芯片资料了。
关于第二个问题,实际pci卡上的内存空间在映射之后跟本机内存是一样的,访问方式也是一样的。
[img]http://mms.kongzhong.com//storage/03/d8/c8/0307b61e1dd83e13c1acc8d67df5082d/my_pic/animatorpic/f_678355759/c_678460143/40f3a3_1_1_1_1.gif[/img]-----我的愿望!
Jkw_Dev
驱动中牛
驱动中牛
  • 注册日期2002-11-03
  • 最后登录2014-11-28
  • 粉丝0
  • 关注0
  • 积分82分
  • 威望28点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-11-04 20:39
说的怎么这么不明白呢
详细点,准确点
wumengyun
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2003-12-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-11-08 19:03
看不懂 什么意思
nabs7710_Summer
驱动牛犊
驱动牛犊
  • 注册日期2003-10-07
  • 最后登录2008-11-05
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-12-16 09:54
意识很明白,PCI的空间寄存器2(从0开始)存放局部地址空间0的地址。局部地址空间编号从0~3,4个地址,PCI配置空间内空间寄存器编号从0~5有6个,0和1用于访问PCI本身,
游客

返回顶部