前面的文章提到過(guò)高級(jí)錯(cuò)誤報(bào)告(Advanced Error Reporting,AER),接下來(lái)詳細(xì)地介紹一下這一功能。在已有的PCIe錯(cuò)誤報(bào)告機(jī)制上(之前文章介紹的),AER還支持以下特性:
· 在登記實(shí)際發(fā)生的錯(cuò)誤類型時(shí),有更好的粒度(Granularity,可以理解為區(qū)分度或者精確度)
· 區(qū)分各種不可校正錯(cuò)誤的嚴(yán)重程度
· 支持登記包頭中的錯(cuò)誤
· 為Root通過(guò)中斷報(bào)告接收到的錯(cuò)誤消息提供了標(biāo)準(zhǔn)化的控制機(jī)制
· 可以定位錯(cuò)誤源在PCIe體系結(jié)構(gòu)中的位置
· 能夠獨(dú)立地屏蔽某種(或者多種)錯(cuò)誤類型的報(bào)告
配置空間中的AER相關(guān)寄存器結(jié)構(gòu)如下圖所示:
前面的文章中多次提到過(guò),ECRC的產(chǎn)生于校檢需要AER的支持,相關(guān)控制bit位于高級(jí)錯(cuò)誤功能控制寄存器中,如下圖所示:
其中,最低5bits為當(dāng)前錯(cuò)誤指針(First Error Pointer),當(dāng)相關(guān)錯(cuò)誤狀態(tài)更新時(shí),該指針由硬件自動(dòng)更新。一般情況下,當(dāng)前錯(cuò)誤指針指向的錯(cuò)誤是優(yōu)先級(jí)最高的錯(cuò)誤,需要最先被處理的,往往也是其他錯(cuò)誤的根源。PCIe Spec V2.1還支持多個(gè)錯(cuò)誤的追蹤(Tracking Multiple Errors)。
圖中的ROS、RWS、RO等字符的意義如下:
· RO——只讀(Read Only),由硬件控制
· ROS——只讀且不被復(fù)位(Read Only and Sticky)
· RsvdP——保留且不可以用于其他用途
· RsvdZ——保留且只能被寫(xiě)0
· RWS——可讀可寫(xiě)且不被復(fù)位(Readable,Writeable and Sticky)
· RW1CS——可讀,寫(xiě)1清零,且不被復(fù)位
不被復(fù)位是指該bit的內(nèi)容不會(huì)因?yàn)閺?fù)位(斷電后的上電復(fù)位除外)而發(fā)生改變。PCIe總線中有多種復(fù)位概念,Sticky bit(不被復(fù)位的位)不會(huì)受到功能層復(fù)位(Function Level Reset, FLR)、熱復(fù)位(Hot Reset)和暖復(fù)位(Warm Reset)的影響,甚至不受冷復(fù)位(Cold Reset)的影響(當(dāng)主電源切斷后,Vaux等二級(jí)電源仍保持正常供電)。關(guān)于PCIe總線的復(fù)位機(jī)制,后續(xù)的文章會(huì)詳細(xì)地介紹。
-
寄存器
+關(guān)注
關(guān)注
31文章
5434瀏覽量
124573 -
PCIe
+關(guān)注
關(guān)注
16文章
1342瀏覽量
85184
原文標(biāo)題:【博文連載】PCIe掃盲——高級(jí)錯(cuò)誤報(bào)告AER(一)
文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
PCB設(shè)計(jì)中如何進(jìn)行統(tǒng)一批量檢測(cè)并生成錯(cuò)誤報(bào)告

Win8系統(tǒng)操作不當(dāng)彈出錯(cuò)誤報(bào)告
仿真停止后怎樣關(guān)掉錯(cuò)誤報(bào)告?
關(guān)于Quartus II 錯(cuò)誤報(bào)告Error (171173): Node from partition Top cannot preserve previous placement at PIN_P8 and honor the location assigment to PIN_F8
MPLAB X IDE v3.20編譯器使用錯(cuò)誤的行號(hào)引用報(bào)告錯(cuò)誤
為什么我設(shè)計(jì)的TMS320VC5402板子在調(diào)試軟件時(shí)總會(huì)出現(xiàn)存儲(chǔ)器錯(cuò)誤報(bào)告?
當(dāng)PCIe配置為端點(diǎn)時(shí),如何啟用AER(高級(jí)錯(cuò)誤報(bào)告)驅(qū)動(dòng)程序?
ICC錯(cuò)誤集錦、ICCAVR的報(bào)錯(cuò)
Xilinx術(shù)語(yǔ)及其定義
基于軟件錯(cuò)誤報(bào)告數(shù)據(jù)集成的改進(jìn)貝葉斯算法
PCIe總線的錯(cuò)誤報(bào)告機(jī)制中四個(gè)比較重要的概念
PCIe總線的三種錯(cuò)誤報(bào)告方式

Root如何處理來(lái)自其他PCIe設(shè)備的錯(cuò)誤消息

PCIe錯(cuò)誤報(bào)告的兩種機(jī)制詳解

評(píng)論