關於PCIe的軟體配置方式

2021-06-13 00:15:51 字數 1205 閱讀 8444

關於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]。那麼實際的位址線如何對應呢?如下圖所示:

在程式中的表達和操作是這樣的:

2、使用memory 讀寫週期完成register的讀寫。

pcie配置空間register

PCIe裝置的配置空間

關於pci裝置的配置空間網上已經有很多資料了,如下圖就是pci裝置必須支援的64個位元組的配置空間,範圍為0x00 0x3f。很多pci裝置僅僅支持者64位元組的配置空間。pci和pcie配置空間的區別如下文。此外pci pci x和pcie裝置還擴充套件了0x40和0xff這段配置空間,這段空間主...

關於spring的配置檔案的注入方式

useraction 裡面注入 userservice 在配置檔案中,不管是注釋還是手寫 都會有這麼一行 因此 注入方式是property name,要與set private userservice userservice public void setuserservice userservic...

關於linux下的軟體建立桌面快捷方式

參考來自 2 向eclipse desktop中新增以下內容 desktop entry encoding utf 8 name eclipse comment eclipse ide exec home eclipse eclipse icon home eclipse icon.xpm term...