首页 > 编程知识 正文

判断设备是pci还是pcie,pci设备驱动开发

时间:2023-05-05 07:27:35 阅读:170037 作者:472

无知的鸡是原创的。 请注明出处http://blog.csdn.net/lux _ VERITAS/article/details/8288174

PCI总线在设备组织中显示树结构。 pci总线将北桥的主机- pci视为根,且连接到其它pci的设备或桥是总线的子节点,这使得pci总线支持PCI桥并因此能够垂直地生长

典型的PCI总线结构。

每个PCI设备由总线编号、设备编号和功能编号组成的16位标识符表示。 总线编号是设备所在的总线编号,在PCI规范中,每个系统最多可包含255条总线。 设备编号是一条总线上的唯一标识号,在一条总线上最多可悬挂32个设备。 因此,该16位标识符的配置如下:

8~15bit :总线编号、3~7bit :设备编号、0~2bit :功能编号。

程序员设置PCI设备的配置寄存器以与PCI设备进行交互。 具体的PCI设备的配置空间在此不详细说明。

PCI设备扫描过程:

PCI设备的扫描在系统的开机自检阶段完成,IA-32架构主要由BIOS程序负责扫描PCI设备并设置配置寄存器,BIOS提供PCI设备枚举接口用于操作系统调用。

PCI装置和PCI桥(包括PCI-PCI桥、PCI-ISA桥)以形成完整的树结构,其中,以特殊的PCI-PCI桥(HOST-PCI桥)为树的根节点并与其相连接的数据由此可见,整个设备的枚举过程实际上是对PCI桥执行递归调用,标记叶节点,如果是子树,则继续执行枚举算法。

PCI-PCI桥主要有三个属性。

1.Primary Bus :表示此桥所属的根总线

2.Secondary Bus :显示以这座桥为路线的巴士号码

3.Subordinate Bus :表示以该桥为根的子树中最高的总线号码

以图中的实例,“PCI-PCI桥1”的主总线为0,辅总线为1,辅总线为2。

PCI设备的扫描过程首先检测总线0上的设备,并当检测到桥设备时检测到它所基于的所有设备和桥。 重复以上操作,直到扫描了所有设备。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。