libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1410回复:2

PCI配置信息的配置过程

楼主#
更多 发布于:2003-11-02 15:05
最近心血来潮想学习PCI驱动的开发,以前开发过ISA卡的驱动,是用DS写的。现在看《PCI 系统结构》看了几天,看的晕头转向的。前面还好懂点,后面就犯难了,18章里讲到配置信息,这里我有些疑惑向大虾门请教:
  先说说硬件的构成,接口芯片是PLX的9054,外挂一个E2PROM,来存放配置信息。我不明白,主板的BIOS,PCI-BIOS,操作系统(WIN2000),驱动程序,在配置PCI板卡 的整个过程里都分别做了什么,哪些是 应用驱动来完成的(自己写的驱动,不是系统总线驱动),哪些是不用驱动来管的??
   我看了很多的资料上都说,开机,主板BIOS自检,把配置信息从E2PROM里读出来,这时候PCI卡还处于待机状态,BIOS程序执行完后就进入引导操作系统阶段了,操作系统把BIOS读到的配置信息写入PCI卡上9054的配置寄存器里,这样就完成了我板卡资源的自动配置,不知道这个过程是否正确?如果正确的话,那么我觉得,我的驱动程序没有干什么啊!!
还是根本就不是这么回事!

望大虾不吝赐教!
感激!
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-11-02 15:57
对PCI的driver来说,资源不用操心了,在IRP_MJ_PNP的IRP_MN_START_DEVICE(StartDevice),资源给你了。
其它和ISA差不多。
不知道DriverWorks怎么处理的,应该是对应于KPnpDevice::OnStartDevice吧。
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-11-05 18:21
谢谢大虾的回答!
我还有疑问,PCI的资源不是固定的,只是指定了一个范围,比如端口地址和内存范围,只是一段,至于它的基地址是每次开机系统自动给分配的。那么设计硬件的时候要把资源范围写到E2PROM里,E2PROM的格式和PCI配置空间的格式是一样的,我说的这些资源范围是不是要写到基地址寄存器里,一共有6个,按什么规则来写,我看了PCI系统结构,但还是看不明白。
能不能详细地讲讲!说得通俗些
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
游客

返回顶部