全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

访问PCI/PCIe设备的流程

时间:2023-07-30 09:44

人气:

作者:admin

标签: 设备 

导读:访问 PCI/PCIe 设备的流程 PCI/PCIe 设备的配置信息 PCI/PCIe 设备上有配置空间(配置寄存器),用来表明自己"需要多大的地址空间"。 注意,这是 PCI/PCIe 地址空间。 主机读取设备配置信息、分...

访问 PCI/PCIe 设备的流程

PCI/PCIe 设备的配置信息

PCI/PCIe 设备上有配置空间(配置寄存器),用来表明自己"需要多大的地址空间"。

注意,这是 PCI/PCIe 地址空间。

主机读取设备配置信息、分配空间

主机上的程序访问 PCI/PCIe 设备,读出配置信息。

分配地址空间:注意,分配的是 PCI/PCIe 地址空间。

把地址空间首地址写入设备。

CPU 地址空间和 PCI/PCIe 地址空间怎么转换?

假设 CPU 发出的 addr_cpu,是用来访问 PCI 设备的,转换关系为:

addr_pci  = addr_cpu + offset

在 PCI/PCIe 控制器中,有某个寄存器,有来保存 offset 值。

主机像读写内存一样访问设备

示例代码如下:

volatile unsigned int *p = addr_cpu;
unsigned int val;
*p = val;  /* 写, 硬件会把addr_cpu转换为addr_pci去写PCI/PCIe设备 */
val = *p;  /* 读, 硬件会把addr_cpu转换为addr_pci去读PCI/PCIe设备 */

| 本文参考 百问网-韦东山驱动大全 |

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信