jjw
jjw
驱动牛犊
驱动牛犊
  • 注册日期2001-11-01
  • 最后登录2008-11-05
  • 粉丝0
  • 关注0
  • 积分-6分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1736回复:7

请教大侠,windows分配给pci芯片的配置信息(i/o,irq,dma)是由windows,还是由驱动程序写入到芯片的配置空间中?

楼主#
更多 发布于:2002-06-22 11:51
是不是这样?windows首先发现了设备,要求安装相应的驱动,由inf文件给出设备的要求。再由windows来综合分配,再把分配的信息给驱动程序。由驱动程序来根据分配的信息来访问。可我不明白,这个分配的信息,是否已由windows写入到芯片的配置空间中,(配置空间的分布是总线协议定下来了),还是要求驱动程序根据这个信息自己写入到芯片的配置空间中?
另外能否解释一下,总线号,设备号,功能号,及总线、设备、功能之间的相互关系?
谢谢了!!!

最新喜欢:

juventusjuvent...
jjw
sialtj
驱动牛犊
驱动牛犊
  • 注册日期2001-05-26
  • 最后登录2002-08-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-07-17 13:52
你可以在pci2.2规范里面找到答案
zhouweichao
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2005-07-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-07-17 14:41
配置信息一般是存于eeprom中。上电时加载到pci芯片的配置空间。bios检测到pci卡,访问其配置空间,由配置空间的基地址内容分配资源。而驱动程序中的资源要求只是获得访问指针。
mengzi
驱动牛犊
驱动牛犊
  • 注册日期2001-08-02
  • 最后登录2004-05-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-07-17 14:54
sialtj 兄:
    配置空间的信息通常是在开机上电时,有BIOS来读取配置信息,根据配置信息中的资源申请,分配IO资源,并将系统分配的IO范围的逻辑地址(物理地址)回写给设备的配置寄存器,并将配置信息存放在COMS中,称为ESCD,bios引导完OS系统后,由操作系统将该配置信息写到注册表中的硬件属性中。对于支持热插拔和即插即用的OS,可以带电插拔设备,并能动态分配资源,这时采用配置方式1#进行的。这和设备驱动程序的安装是两回事,此时设备的资源信息已经存放在注册表中,驱动程序只是简单的获取资源,有两种方式可以获取设备资源,一种是通过配置方式1#读取设备的配置信息,一种是从注册表中读取,两种是一致的。
总线号,是对于桥的个数而言,如果只有一个北桥,则总线号总为0,如果有一个pci-pci的桥的则桥前面的为总线0,桥后面的为总线1,如果有多个pci-pci桥,依次类推。一条总线上可能有多个设备(每个pci槽对应一个),每个设备都有一个设备号,设备可能是单功能的也可能是多功能的(即一个槽上的设备可能有多个用途,譬如同时具有网络和串口的功能,必须为每个功能分别分配资源,即每个功能都需要一个配置空间)。这几个参数是配置方式1#所必须的参数。    
 
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2002-07-17 16:21
用户被禁言,该主题自动屏蔽!
asic_liu
驱动中牛
驱动中牛
  • 注册日期2002-04-26
  • 最后登录2004-11-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-07-17 17:52
建议你看看驱动模型!这些信息都是一步一步得来的。
家住虚无飘渺中, 本与世间无相争。 忽如一日刀兵起, 笑傲江湖一狂生。
mengzi
驱动牛犊
驱动牛犊
  • 注册日期2001-08-02
  • 最后登录2004-05-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-07-18 21:02
补充一点,BIOS读取资源申请信息时,当然是从设备的e2prom中读取,然后回写到设备的配置寄存器中,我前年在这个地方化了2个月的时间才弄清楚。现在我可以同时实现dma与从方式,从方式是对FPGA与DSP阵列的配置芯片通过PCI/CPCI总线进行动态在线配置,dma是读取遥测遥控卡上接收卫星来的缓冲数据,可以达到80MBS/s的速率。俺的驱动编写用的是DS。硬件软件俺是独自一个人一起来,有问题,可以继续交流。
mengzi
驱动牛犊
驱动牛犊
  • 注册日期2001-08-02
  • 最后登录2004-05-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-07-18 21:12
zhouweichao兄说得对,看来是个有经验的人
游客

返回顶部