大家好,又到了每日学习的时间了,今天我们来聊一聊pcie的软件配置方式。
关于pcie的软件配置和初始化
pcie设计出来考虑了和pci兼容问题。所以pcie的软件配置方式可以沿用pci的配置方式。当然,由于特殊性,也有自身独特的配置方式。所以pcie模块的访问方式有如下两种:
1、 pci 兼容的配置方式。
2、 pci express enhanced 配置机制。
pci兼容方式是在pci章节已经提过,pcie与其完全兼容。这里主要描述pcie高级配置机制。
pcie的配置空间
pcie的配置空间是兼容pci的,但是在pci的基础上增加了不少register。从256增加到4kbytes的大小。如下图所示,pcie的配置空间。
其中,pcie的配置空可以分成pci兼容部分和扩展部分。pci兼容部分在前面256byte区域,完全可以使用pci配置机制来访问。而扩展部分的register,使用pci配置方式无法实现,则可以通过pcie 高级配置方式完成。
pcie高级配置机制
pcie enhanced configuration mechanism的主要原理是将pcie的所有4k bytes 映射到memory地址上,这样,通过访问memory的方式即可读写pcie的配置空间。当然,通过此方式读memory时候,最好考虑到4字节对齐的问题,否则有可能出错。
在正常的访问过程中,可以访问这一部分的memory来配置pcie,而这部分memory在哪里呢?芯片组中会定义一个base address,而base address开始的256mb的空间内则是总线上所有pcie设备的配置空间对应的register。
上图是pcie总线高级配置结构图,很明显可以看出是pcie配置空间映射的memory空间为[xbaseaddress +0 àxbaseaddress +fffffffh]。那么实际的地址线如何对应呢?如下图所示:
在程序中的表达和操作是这样的:
1、计算出pcie设备配置空间中寄存器的地址:register address = pcie_base + (busno * 1mb) + (deviceno * 32kb) + (funcno* 4kb) + (reg).
2、使用memory 读写周期完成register的读写。
pcie配置空间register
详细的register解读,请阅读pcie spec或者参考一份x86架构的芯片组datasheet。
今天就聊到这里,各位,加油。
最新数据,我国第二季度海上风电新增并网规模同比增长208%
ML和AI的区别
臭氧老化试验箱的箱体特点
PLC梯形图编程的方法
家电智能新赛道:语音将替代遥控器
简谈PCIe的软件配置方式
智能配电箱的功能介绍
一款适用于船载、化工园区、工厂的防水LoRa网关推荐
优海信息与蓝卓联合发布基于supOS的数字工厂APP
Vishay的超薄大电流电感器适用于高频VRM10.0应用
蓝牙也存在安全风险,网络安全该如何保障
汽车零部件清洁度检测机构-国家CNAS认可实验室
老程序员的出路
恒流供电时,在串并联电路中如何保证每串的电流均衡?
国外毫米波导引头概览
基于STM32单片机的厨房系统设计
关于RL78 MCU如何读取Unique ID和Device Part Number
一项新技术,使得在单一芯片中集成光学开关和单光子探测器成为可能
智慧双屏广告机创新品牌向多媒体交互方向发展
HarmonyOS微博第三方登录实现(内附代码)