C语言读PCI

C语言读PCI ——利用I/O命令

一、 PCI访问相关知识不了解PCI的配置空间是不可能的,配置空间是一块容量为256字节并具有特定记录结构或模型的地址空间,通过配置空间,我们可以了解该PCI设备的一些配置情况,进而控制该设备,除主总线桥以外的所有PCI设备都必须事先配置空间。PCI配空间如下图: PCI配置空间被分为64个4个字节空间,从0—63进行编号。

 

二、 PCI CONFIG-ADDRESS配置空间 PCI设备给我们提供了两个32位的I/O空间,可以让我们进行读写操作。一个是CF8H另一个是CFCH,这两个端口对应PCI桥路的两个寄存器。当桥路看到CPU在局部总线对这两个I/O空间进行双字操作时,就将该I/O操作转变为PCI总线的配置操作。寄存器CF8h用于产生配置空间的地址(CONFIG-ADDRESS),寄存器CFCh用于保存配置空间的读写数据(CONFIG-DATA)。 Config-address 配置空间如下图,我们在访问PCI空间时,就是按下图所示进行遍历。寄存器号:选择配置空间中的一个双字(32位);功能号:选择多功能设备中的某一个功能,有八种功能(0—7);设备号:在一条总线上选择32个设备中的一个。0—31;总线号:从系统256条总线中选择一条,共256条。0—255;尽管理论上有256条总线,但实际PC机上的PCI插槽的总线号总是1,我们访问0到15就够了。

三、遍历PCI 在window

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值