版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢業(yè)設(shè)計(jì)(論文)題目: </p><p> 基于JTAG的嵌入式故障注入平臺(tái) </p><p><b> 摘 要</b></p><p> 嵌入式系統(tǒng)由于有著功耗低,高實(shí)時(shí),可剪裁等眾多優(yōu)點(diǎn),已經(jīng)被越
2、來(lái)越多的應(yīng)用在工業(yè)控制、交通管理、武器控制、航天、航空等關(guān)鍵領(lǐng)域。在這些領(lǐng)域中,嵌入式設(shè)備所處的工作環(huán)境都比較極端,系統(tǒng)發(fā)生故障的概率遠(yuǎn)比正常情況高出很多倍。運(yùn)行于這些關(guān)鍵領(lǐng)域的嵌入式系統(tǒng)如果出現(xiàn)了故障,就可能會(huì)帶來(lái)巨大的損失。因此為了保證嵌入式系統(tǒng)中的容錯(cuò)機(jī)制正常工作,需要一種方法能夠在嵌入式系統(tǒng)投入實(shí)際使用之前對(duì)其進(jìn)行測(cè)試,模擬實(shí)際應(yīng)用中可能出現(xiàn)的問(wèn)題,評(píng)測(cè)其可靠性。</p><p> 本課題設(shè)計(jì)并實(shí)現(xiàn)了一
3、種基于JTAG的嵌入式系統(tǒng)故障注入和分析平臺(tái),通過(guò)控制其JTAG時(shí)序,使目標(biāo)系統(tǒng)進(jìn)入到硬件調(diào)試模式中,讀寫(xiě)CPU或內(nèi)存中目標(biāo)節(jié)點(diǎn)的數(shù)據(jù),實(shí)現(xiàn)注入故障。在硬件調(diào)試模式中,目標(biāo)系統(tǒng)之上的操作系統(tǒng)進(jìn)入掛起狀態(tài),暫停運(yùn)行。從硬件調(diào)試模式回到正常模式后,操作系統(tǒng)會(huì)從掛起前正在執(zhí)行的指令地址繼續(xù)向下執(zhí)行,而忽略硬件調(diào)試模式中CPU或內(nèi)存數(shù)據(jù)的變化,這樣就達(dá)到了繞過(guò)操作系統(tǒng)的數(shù)據(jù)保護(hù)限制,從而完成故障注入的目的。</p><p&g
4、t; 為了實(shí)現(xiàn)故障注入的靈活性和對(duì)在一個(gè)平臺(tái)上對(duì)多種體系結(jié)構(gòu)進(jìn)行故障注入,本課題使用FPGA芯片作為故障注入目標(biāo)的運(yùn)行平臺(tái),目標(biāo)體系結(jié)構(gòu)以軟IP核的形式運(yùn)行在FPGA芯片中,使用DSP芯片作為故障注入核心控制器,控制測(cè)試數(shù)據(jù)的格式轉(zhuǎn)換、輸入輸出,與上位機(jī)的通信和JTAG時(shí)序的控制。</p><p> 關(guān)鍵詞:嵌入式;系統(tǒng)可靠性;硬件調(diào)試;故障注入;JTAG</p><p><b&
5、gt; Abstract</b></p><p> Because of the adventures such as low power dissipation, high real-time, and scalable of embedded systems, embedded systems have been more and more applied in key areas such
6、as industrial control, traffic management, arms control, aerospace and aviation. In these areas, embedded systems are working in an extremely environment, which caused much higher system failure probability than normal.
7、Failure of the embedded systems in these key areas will cause great loss. Therefore, in order to ensure fa</p><p> This paper designs and implements a hardware fault injection and analysis platform based on
8、 JTAG aimed at embedded systems. Firstly, make the target system enter the hardware debugging mode by controlling its JTAG time series. And secondly, read or write the data in the CPU or memory of the target system. When
9、 coming back to normal mode, the operating system will continue to do its work from the point where it entered hardware debugging mode, ignoring the data change in the CPU and memory. In th</p><p> For the
10、sake of the flexibility of the platform which means suitable for varies of target systems, this paper use FPGA chip as target system running environment, and the target system runs as a soft IP core in FPGA. This paper a
11、lso use a DSP chip as fault injector to do data format transfer, I/O, communication and JTAG controls.</p><p> Keywords: embedded system, system dependability, hardware debugging, fault injection, JTAG</
12、p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 第1章 緒論1</b></p><p><b> 1.1課題背景1</
13、b></p><p> 1.2涉及到的技術(shù)2</p><p> 1.2.1容錯(cuò)技術(shù)2</p><p> 1.2.2系統(tǒng)可靠性4</p><p> 1.2.3故障注入技術(shù)6</p><p> 1.3硬件調(diào)試技術(shù)8</p><p> 1.3.1 ICE調(diào)試技術(shù)8<
14、/p><p> 1.3.2 JTAG調(diào)試技術(shù)9</p><p> 1.4 FPGA技術(shù)及SOPC技術(shù)11</p><p> 1.5國(guó)內(nèi)外研究現(xiàn)狀12</p><p> 1.6課題的主要內(nèi)容和論文結(jié)構(gòu)12</p><p> 第2章 故障注入工具整體方案14</p><p> 2
15、.1 JTAG規(guī)范14</p><p> 2.2 LEON3架構(gòu)18</p><p> 2.2.1 簡(jiǎn)介18</p><p> 2.2.2 LEON3特點(diǎn)19</p><p> 2.2.3 LEON3的容錯(cuò)機(jī)制20</p><p> 2.2.4 LEON3的調(diào)試架構(gòu)22</p>&l
16、t;p> 2.3 故障注入整體方案24</p><p> 第3章 故障注入工具具體設(shè)計(jì)實(shí)現(xiàn)27</p><p> 3.1 故障注入工具硬件電路設(shè)計(jì)27</p><p> 3.2 硬件故障注入器30</p><p> 3.2.1 硬件電路和USB固件設(shè)計(jì)30</p><p> 3.2.2 協(xié)
17、議轉(zhuǎn)換邏輯設(shè)計(jì)32</p><p> 3.2.3 故障注入指令設(shè)計(jì)36</p><p> 3.3 上位機(jī)控制軟件40</p><p> 3.3.1 硬件控制子模塊40</p><p> 3.3.2 USB通信子模塊42</p><p> 3.3.3 JTAG設(shè)備檢查子模塊43</p>
18、<p> 3.3.4 故障指令生成子模塊44</p><p> 第4章 實(shí)驗(yàn)及結(jié)果分析46</p><p> 4.1 協(xié)議轉(zhuǎn)換邏輯仿真46</p><p> 4.2 故障注入實(shí)驗(yàn)50</p><p> 第5章 總結(jié)與展望53</p><p><b> 致 謝54<
19、;/b></p><p><b> 參考文獻(xiàn)55</b></p><p><b> 第1章 緒論</b></p><p><b> 1.1課題背景</b></p><p> 嵌入式系統(tǒng)由于有著功耗低,高實(shí)時(shí),可剪裁等眾多優(yōu)點(diǎn),已經(jīng)被越來(lái)越多的應(yīng)用在工業(yè)控制、交
20、通管理、武器控制、航天、航空等關(guān)鍵領(lǐng)域中,嵌入式系統(tǒng)的安全性和可靠性成為一個(gè)系統(tǒng)必須關(guān)心和解決的問(wèn)題。在這些領(lǐng)域中,嵌入式設(shè)備所處的工作環(huán)境都比較極端,溫度、濕度、酸度、輻射、震動(dòng)等都遠(yuǎn)遠(yuǎn)超過(guò)正常情況,系統(tǒng)發(fā)生故障的概率比起在正常環(huán)境下工作的嵌入式系統(tǒng)高出很多倍。運(yùn)行于這些關(guān)鍵領(lǐng)域的嵌入式系統(tǒng)如果出現(xiàn)了故障,就可能會(huì)導(dǎo)致巨大的經(jīng)濟(jì)損失和時(shí)間損失。為了解決這個(gè)問(wèn)題,近年來(lái)可靠性嵌入式系統(tǒng)和容錯(cuò)機(jī)制領(lǐng)域的研究越來(lái)越多,為了保證嵌入式系統(tǒng)中的
21、容錯(cuò)機(jī)制正常工作,需要一種方法能夠在嵌入式系統(tǒng)投入實(shí)際使用之前對(duì)其進(jìn)行測(cè)試,模擬實(shí)際應(yīng)用中可能出現(xiàn)的問(wèn)題,評(píng)測(cè)其可靠性。</p><p> 評(píng)測(cè)可靠性的一種最顯而易見(jiàn)的方法就是使待評(píng)測(cè)的系統(tǒng)長(zhǎng)時(shí)間運(yùn)行,達(dá)到足夠長(zhǎng)的時(shí)間,在運(yùn)行過(guò)程中觀察并統(tǒng)計(jì)系統(tǒng)出現(xiàn)的錯(cuò)誤和故障信息,對(duì)錯(cuò)誤故障信息進(jìn)行分析,得到系統(tǒng)的可靠性信息。但是這種方法在實(shí)際中很難操作,尤其是要評(píng)測(cè)一個(gè)高可靠系統(tǒng)的可靠性的時(shí)候,所以目前常用的可靠性評(píng)測(cè)方法
22、是通過(guò)人為主動(dòng)地對(duì)目標(biāo)系統(tǒng)進(jìn)行故障注入,觀測(cè)目標(biāo)系統(tǒng)對(duì)于故障的反應(yīng),分析并評(píng)測(cè)目標(biāo)系統(tǒng)的可靠性。</p><p> 按照注入故障的層次進(jìn)行分類,故障注入技術(shù)主要可以分為硬件故障注入和軟件故障注入兩種。軟件故障注入實(shí)現(xiàn)難度小,成本低,容易構(gòu)建故障模型。但是由于現(xiàn)代操作系統(tǒng)都包含有保護(hù)機(jī)制,用來(lái)防止運(yùn)行過(guò)程中CPU或者內(nèi)存中的數(shù)據(jù)被惡意修改,軟件故障注入方法無(wú)法在目標(biāo)系統(tǒng)底層進(jìn)行故障注入,這就導(dǎo)致軟件故障注入方法注
23、入故障的覆蓋率無(wú)法令人滿意。</p><p> 所以本課題使用硬件故障注入技術(shù)來(lái)進(jìn)行故障注入。傳統(tǒng)的硬件故障注入有管腳級(jí)故障注入、重離子故障注入和電磁干涉故障注入等方法[1],但隨著芯片制造技術(shù)的提高,芯片制程越來(lái)越小,集成度越來(lái)越高,封裝密度越來(lái)越大,出現(xiàn)了大規(guī)模集成電路和超大規(guī)模集成電路,傳統(tǒng)的硬件故障注入方法很難訪問(wèn)和修改目標(biāo)數(shù)據(jù)。所以業(yè)界定義了JTAG協(xié)議,可以在沒(méi)有物理接觸的條件下訪問(wèn)到芯片內(nèi)部的數(shù)據(jù)
24、。</p><p> 本課題設(shè)計(jì)并實(shí)現(xiàn)了一種基于JTAG的嵌入式系統(tǒng)故障注入和分析平臺(tái),通過(guò)控制其JTAG時(shí)序,使目標(biāo)系統(tǒng)進(jìn)入到硬件調(diào)試模式中,讀寫(xiě)CPU或內(nèi)存中目標(biāo)節(jié)點(diǎn)的數(shù)據(jù),實(shí)現(xiàn)注入故障。在硬件調(diào)試模式中,目標(biāo)系統(tǒng)之上的操作系統(tǒng)進(jìn)入掛起狀態(tài),暫停運(yùn)行。從硬件調(diào)試模式回到正常模式后,操作系統(tǒng)會(huì)從掛起前正在執(zhí)行的指令地址繼續(xù)向下執(zhí)行,而忽略硬件調(diào)試模式中CPU或內(nèi)存數(shù)據(jù)的變化,這樣就達(dá)到了繞過(guò)操作系統(tǒng)的數(shù)據(jù)保護(hù)
25、限制,從而完成故障注入的目的。</p><p> 為了實(shí)現(xiàn)故障注入的靈活性和對(duì)在一個(gè)平臺(tái)上對(duì)多種體系結(jié)構(gòu)進(jìn)行故障注入,本課題使用FPGA芯片作為故障注入目標(biāo)的運(yùn)行平臺(tái),目標(biāo)體系結(jié)構(gòu)以軟IP核的形式運(yùn)行在FPGA芯片中,使用DSP芯片作為故障注入核心控制器,控制測(cè)試數(shù)據(jù)的格式轉(zhuǎn)換、輸入輸出,與上位機(jī)的通信和JTAG時(shí)序的控制。</p><p><b> 1.2涉及到的技術(shù)<
26、;/b></p><p><b> 1.2.1容錯(cuò)技術(shù)</b></p><p> 從第一臺(tái)電子計(jì)算機(jī)ENIAC問(wèn)世之后,運(yùn)行過(guò)程中由信號(hào)干擾和噪聲等引起的不可控制的錯(cuò)誤就一直困擾著研究人員,從那時(shí)起研究人員就開(kāi)始了對(duì)容錯(cuò)技術(shù)的研究。1951年,第一臺(tái)商用計(jì)算機(jī) UNIVAC誕生,這臺(tái)計(jì)算機(jī)標(biāo)志著計(jì)算機(jī)進(jìn)入商用時(shí)代。商用計(jì)算機(jī)對(duì)可靠性要求較高,所以這臺(tái)計(jì)算機(jī)采
27、用了奇偶校驗(yàn)、雙重運(yùn)算線路相互校驗(yàn)等多種容錯(cuò)技術(shù),顯著的提高了系統(tǒng)的可靠性[2]。在這之后,計(jì)算機(jī)技術(shù)發(fā)展迅速,計(jì)算機(jī)體積和功耗越來(lái)越小,逐漸走向了家用和日常工作使用。在家用和日常工作使用的領(lǐng)域中,加入容錯(cuò)技術(shù)帶來(lái)的成本增加和性能損失已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)了偶爾出現(xiàn)的錯(cuò)誤帶來(lái)的損失,所以家用計(jì)算機(jī)領(lǐng)域基本沒(méi)有關(guān)注和使用容錯(cuò)技術(shù),只有軍事、航空、航天等對(duì)系統(tǒng)可靠性要求苛刻的領(lǐng)域才關(guān)注容錯(cuò)技術(shù)并進(jìn)行了研究。</p><p>
28、 隨著大規(guī)模集成電路、超大規(guī)模集成電路和計(jì)算機(jī)技術(shù)的進(jìn)步,計(jì)算機(jī)系統(tǒng)不再僅僅局限于高端商用領(lǐng)域和低端家用領(lǐng)域,而是進(jìn)一步擴(kuò)展到了工業(yè)控制、交通控制、通信、醫(yī)療、公共安全等與人們生活息息相關(guān)的領(lǐng)域。這些領(lǐng)域中的計(jì)算機(jī)系統(tǒng)如果發(fā)生了故障,不僅會(huì)對(duì)給人們的正常工作和生活造成不便,擾亂人們的正常生活秩序,更嚴(yán)重的還可能會(huì)帶來(lái)巨大的經(jīng)濟(jì)損失、時(shí)間損失,甚至?xí){到人們的生命財(cái)產(chǎn)安全,擾亂社會(huì)秩序。因此計(jì)算機(jī)的可靠性受到人們?cè)絹?lái)越多的關(guān)注。<
29、/p><p> 提高計(jì)算機(jī)系統(tǒng)可靠性的方法主要有兩種:避錯(cuò)技術(shù)和容錯(cuò)技術(shù)[3]。</p><p> 避錯(cuò)技術(shù)[3]顧名思義主要是在錯(cuò)誤發(fā)生之前就盡量避免錯(cuò)誤的發(fā)生。避錯(cuò)技術(shù)的實(shí)現(xiàn)方法主要有兩種:</p><p> 第一種是優(yōu)化系統(tǒng)設(shè)計(jì),在軟硬件系統(tǒng)的設(shè)計(jì)階段對(duì)設(shè)計(jì)進(jìn)行充分驗(yàn)證,對(duì)于軟件系統(tǒng)進(jìn)行充分的高覆蓋率的測(cè)試,對(duì)于硬件系統(tǒng)進(jìn)行充分的仿真和模擬,確保系統(tǒng)按照設(shè)計(jì)
30、工作。改進(jìn)元器件的生產(chǎn)工藝和生產(chǎn)流程,嚴(yán)格控制元器件的生產(chǎn)質(zhì)量,提高合格標(biāo)準(zhǔn),降低計(jì)算機(jī)系統(tǒng)每一個(gè)部分的錯(cuò)誤性,進(jìn)而使整體系統(tǒng)的錯(cuò)誤率維持在一個(gè)較低的水平。但是這種方法有很大的局限性,元器件生產(chǎn)工藝和生產(chǎn)流程的改進(jìn)是一個(gè)緩慢量變的過(guò)程,很難在短期內(nèi)得到巨大的提升,而且也不可能無(wú)限的改進(jìn),元器件的質(zhì)量提升也無(wú)法完全將錯(cuò)誤去除,只能盡量減少。此外,高規(guī)格的生產(chǎn)工藝會(huì)帶來(lái)很高的生產(chǎn)成本和勞動(dòng)成本,在工藝提升到一定水平之后尤為明顯,每提升一點(diǎn)可
31、靠性都要付出高昂的代價(jià)。元器件的老化也會(huì)增加元器件出錯(cuò)的概率。</p><p> 第二種是增加屏蔽,通過(guò)在系統(tǒng)的每一模塊之間和外殼上覆蓋一定厚度的抗輻射材料,減少模塊間干擾造成的數(shù)據(jù)突變和外界輻射造成的數(shù)據(jù)污染。屏蔽的方法在輻射嚴(yán)重的航空領(lǐng)域應(yīng)用較多,而且得到了很好的效果。</p><p> 容錯(cuò)技術(shù)[3]的方法是允許計(jì)算機(jī)系統(tǒng)運(yùn)行時(shí)出現(xiàn)錯(cuò)誤,當(dāng)出現(xiàn)錯(cuò)誤的時(shí)候要通過(guò)容錯(cuò)技術(shù)及時(shí)檢查出錯(cuò)
32、誤并采取相應(yīng)措施處理錯(cuò)誤,使錯(cuò)誤無(wú)法轉(zhuǎn)化為故障,計(jì)算機(jī)系統(tǒng)繼續(xù)正常運(yùn)行。與避錯(cuò)技術(shù)相比,容錯(cuò)技術(shù)對(duì)元器件質(zhì)量要求更低,而且能夠更全面得處理隨機(jī)出現(xiàn)的錯(cuò)誤,而不只是簡(jiǎn)單地被動(dòng)地預(yù)防錯(cuò)誤發(fā)生。目前最常見(jiàn)的容錯(cuò)機(jī)制是硬件冗余機(jī)制,就是通過(guò)添加一些正常工作需要之外的冗余硬件來(lái)檢查和修正錯(cuò)誤。由于出錯(cuò)是隨機(jī)的,而且是偶然的,所以參照“少數(shù)服從多數(shù)”的思想,提出了一種三模冗余設(shè)計(jì)。三模冗余設(shè)計(jì)是硬件冗余中的一種常用方法,每一個(gè)模塊都有三個(gè)完全相同的
33、冗余模塊同時(shí)執(zhí)行相同的運(yùn)算,把三個(gè)模塊的運(yùn)行結(jié)果中取多數(shù)相同的結(jié)果作為表決出的正確結(jié)果輸出[4]。三模冗余設(shè)計(jì)的示意圖如圖1-1所示。</p><p> 圖1-1 三模冗余設(shè)計(jì)示意圖[4]</p><p> 冗余機(jī)制的缺點(diǎn)是會(huì)使模塊的執(zhí)行速度降低(有的甚至低到原來(lái)的80%),占用資源和功耗增加(大約為原來(lái)的3.2倍)[5]。</p><p> 1.2.2系統(tǒng)
34、可靠性</p><p> 系統(tǒng)可靠性是指在規(guī)定環(huán)境和規(guī)定時(shí)間內(nèi),一個(gè)系統(tǒng)正常運(yùn)行的可能性[6]。系統(tǒng)可靠性由硬件可靠性和軟件可靠性兩部分組成。軟件可靠性的影響因素主要來(lái)自于程序的漏洞,隨著軟件工程和軟件測(cè)試技術(shù)的發(fā)展,雖然完全解決程序漏洞是不可能的,但是能夠在測(cè)試期間就解決絕大多數(shù)漏洞,而且在使用過(guò)程中能夠通過(guò)更新來(lái)提高軟件可靠性。硬件可靠性的主要影響因素是硬件設(shè)計(jì)錯(cuò)誤和自然環(huán)境干擾。目前硬件測(cè)試手段還遠(yuǎn)不如軟
35、件測(cè)試手段完善,所以設(shè)計(jì)階段有些設(shè)計(jì)錯(cuò)誤或者不合理設(shè)計(jì)很難被發(fā)現(xiàn),一旦硬件投入使用之后很難隨時(shí)進(jìn)行更新。自然環(huán)境對(duì)硬件系統(tǒng)的干擾也不能忽視,尤其是在高溫、高濕度、高輻射的環(huán)境里硬件系統(tǒng)出錯(cuò)的概率會(huì)明顯增加。</p><p> 對(duì)目標(biāo)系統(tǒng)進(jìn)行可靠度評(píng)測(cè)的方法主要有解析模型法、測(cè)量分析法和故障注入法三種[7]。</p><p> 解析模型法面向的對(duì)象是目標(biāo)系統(tǒng)的設(shè)計(jì),在投入使用之前對(duì)系統(tǒng)進(jìn)
36、行可靠性評(píng)測(cè)。解析模型法使用馬爾科夫預(yù)測(cè)模型等模型來(lái)描述目標(biāo)系統(tǒng)的設(shè)計(jì),并求解模型得到系統(tǒng)可靠性信息。解析模型法假設(shè)系統(tǒng)出現(xiàn)故障的時(shí)間服從離散分布、均勻分布等概率分布,用工作狀態(tài)代表系統(tǒng)正確地運(yùn)行,用失效狀態(tài)代表系統(tǒng)出現(xiàn)故障無(wú)法正常運(yùn)行,用參數(shù)來(lái)表示目標(biāo)系統(tǒng)從失效狀態(tài)回到工作狀態(tài)的概率和所用時(shí)間,最后進(jìn)行求解。解析模型法的優(yōu)點(diǎn)在于在設(shè)計(jì)階段就可以對(duì)系統(tǒng)進(jìn)行評(píng)測(cè)而不需要將目標(biāo)系統(tǒng)制作出來(lái),這大大節(jié)省了時(shí)間和成本。解析模型法的缺點(diǎn)是,為了便
37、于求解,構(gòu)建模型的時(shí)候要對(duì)系統(tǒng)參數(shù)做很多簡(jiǎn)化,同時(shí)故障發(fā)生的時(shí)間也不一定符合概率模型,加上求解模型過(guò)程中的誤差,導(dǎo)致解析模型法求解得到的系統(tǒng)可靠性與真實(shí)可靠性相差甚遠(yuǎn)。</p><p> 測(cè)量分析法面向的對(duì)象是已經(jīng)生產(chǎn)出來(lái)的目標(biāo)系統(tǒng)。測(cè)量分析法要求目標(biāo)系統(tǒng)不間斷的長(zhǎng)時(shí)間運(yùn)行,觀察和統(tǒng)計(jì)目標(biāo)系統(tǒng)的運(yùn)行及故障情況,進(jìn)而分析得到目標(biāo)系統(tǒng)的可靠性信息。測(cè)量分析法的優(yōu)點(diǎn)在于,測(cè)量分析法的實(shí)驗(yàn)結(jié)果是基于目標(biāo)系統(tǒng)的實(shí)際運(yùn)行和
38、檢測(cè),所以評(píng)測(cè)得出的可靠性信息最準(zhǔn)確,并且通過(guò)檢測(cè)可以為系統(tǒng)改進(jìn)時(shí)應(yīng)用解析模型法提供故障模型信息和故障發(fā)生時(shí)間的概率分布信息。測(cè)量分析法的缺點(diǎn)是:第一,加入了容錯(cuò)技術(shù)的可靠計(jì)算機(jī)系統(tǒng)出現(xiàn)故障的概率非常低,這就使得觀測(cè)變得很困難,通常需要目標(biāo)系統(tǒng)連續(xù)運(yùn)行幾個(gè)月甚至幾年才能采集到足夠用于分析系統(tǒng)可靠性的信息,無(wú)法滿足快速發(fā)展的計(jì)算機(jī)系統(tǒng)的需求;第二,目標(biāo)系統(tǒng)測(cè)試時(shí)的運(yùn)行環(huán)境無(wú)法做到和實(shí)際應(yīng)用環(huán)境相同,一些在極端應(yīng)用環(huán)境里會(huì)出現(xiàn)的故障不會(huì)在測(cè)
39、試時(shí)發(fā)生,所以無(wú)法保證較高的故障覆蓋率。</p><p> 故障注入方法與測(cè)量分析法一樣面向的也是已經(jīng)生產(chǎn)出來(lái)的目標(biāo)系統(tǒng),但是故障注入法人為地主動(dòng)向目標(biāo)系統(tǒng)注入故障,觀察目標(biāo)系統(tǒng)對(duì)故障的反應(yīng)和恢復(fù)能力,進(jìn)而分析得出目標(biāo)系統(tǒng)的可靠性信息,解決了測(cè)量分析法需要目標(biāo)系統(tǒng)長(zhǎng)時(shí)間運(yùn)行來(lái)采集故障數(shù)據(jù)的缺點(diǎn)。故障注入法的優(yōu)點(diǎn)是評(píng)測(cè)速度快,實(shí)施簡(jiǎn)單方便,故障覆蓋率高。故障注入法是當(dāng)前評(píng)測(cè)計(jì)算機(jī)系統(tǒng)可靠性最常用的方法。</
40、p><p> 1.2.3故障注入技術(shù)</p><p> 故障注入技術(shù)最開(kāi)始誕生于工業(yè)界,用于對(duì)工業(yè)用容錯(cuò)計(jì)算機(jī)系統(tǒng)進(jìn)行可靠性驗(yàn)證。之后故障注入技術(shù)受到研究人員和高校的重視,用于驗(yàn)證容錯(cuò)機(jī)制,現(xiàn)在故障注入技術(shù)受到越來(lái)越廣的研究和關(guān)注。</p><p> 故障注入技術(shù)通過(guò)人為主動(dòng)地向目標(biāo)系統(tǒng)注入故障,觀察目標(biāo)系統(tǒng)對(duì)故障的反應(yīng)和恢復(fù)能力,進(jìn)而分許得到系統(tǒng)可靠性信息。故障
41、注入法解決了測(cè)量分析法需要目標(biāo)系統(tǒng)長(zhǎng)時(shí)間運(yùn)行來(lái)采集故障數(shù)據(jù)的缺點(diǎn),而且通過(guò)構(gòu)建故障樹(shù)模型,故障注入法能夠達(dá)到比測(cè)量分析法更高的故障覆蓋率。由于這些優(yōu)點(diǎn),故障注入法已成為目前可靠性評(píng)測(cè)最常用的方法。</p><p> 1.2.3.1 故障注入技術(shù)分類</p><p> 目前隨著對(duì)故障注入技術(shù)的研究,出現(xiàn)了越來(lái)越多應(yīng)用于可靠性評(píng)測(cè)的故障注入方法。這些故障注入方法可以通過(guò)故障注入實(shí)現(xiàn)手段、
42、故障注入對(duì)象(對(duì)象所處的階段)、注入故障類型、注入故障所在級(jí)別(底層還是上層)等進(jìn)行分類[8]。</p><p> 按照故障注入的對(duì)象是設(shè)計(jì)階段仿真的目標(biāo)系統(tǒng)還是已經(jīng)生產(chǎn)出來(lái)的真是目標(biāo)系統(tǒng),可以將故障注入分為模擬故障注入和物理故障注入。模擬故障注入法針對(duì)的是設(shè)計(jì)階段的目標(biāo)系統(tǒng),經(jīng)常和1.2.2中的解析模型法配合,對(duì)目標(biāo)系統(tǒng)進(jìn)行門(mén)級(jí)、RTL級(jí)、功能級(jí)抽象建模,對(duì)建立出來(lái)的系統(tǒng)抽象模型進(jìn)行故障注入[8]。物理故障注
43、入法針對(duì)的是已經(jīng)生產(chǎn)出來(lái)的真實(shí)目標(biāo)系統(tǒng),包括軟件故障注入和硬件故障注入兩種。</p><p> 軟件故障注入的原理是通過(guò)執(zhí)行特定的指令序列來(lái)更改CPU、內(nèi)存等在運(yùn)行過(guò)程中的數(shù)據(jù)來(lái)注入故障。硬件故障注入的原理是通過(guò)額外的硬件系統(tǒng)對(duì)目標(biāo)系統(tǒng)的產(chǎn)生影響,讀取或修改目標(biāo)系統(tǒng)內(nèi)部的數(shù)據(jù)來(lái)注入故障[9]。硬件故障注入法的優(yōu)點(diǎn)是理論上能夠訪問(wèn)任何想要訪問(wèn)的位置,而不用專門(mén)對(duì)目標(biāo)系統(tǒng)進(jìn)行修改,不影響目標(biāo)系統(tǒng)的正常工作流程。&l
44、t;/p><p> 按照附加的故障注入硬件系統(tǒng)和目標(biāo)系統(tǒng)是否有接觸,硬件故障注入法可以分為非接觸式注入和接觸式注入,非接觸式注入通過(guò)輻射、激光、電磁干擾等手段來(lái)改寫(xiě)目標(biāo)系統(tǒng)內(nèi)部的數(shù)據(jù),主要包括電源干擾法、激光注入法和輻射引導(dǎo)法三種[10];接觸式注入通過(guò)與目標(biāo)系統(tǒng)的物理連接直接更改目標(biāo)節(jié)點(diǎn)的數(shù)據(jù),包括管腳級(jí)注入和基于JTAG的嵌入式故障注入。圖1-是完整的故障注入技術(shù)分類樹(shù)。</p><p>
45、; 圖1-2 故障注入技術(shù)分類樹(shù)</p><p> 1.2.3.2 硬件故障注入器模型</p><p> 硬件故障注入工具的基本結(jié)構(gòu)如圖1-3所示,包括上位機(jī)控制軟件、故障注入器、行為監(jiān)視器、數(shù)據(jù)收集器和數(shù)據(jù)分析器[8]。</p><p> 上位機(jī)控制軟件的作用是控制整個(gè)故障注入的流程,從故障數(shù)據(jù)庫(kù)里提取準(zhǔn)備注入的故障,構(gòu)建并編碼故障樹(shù),控制故障注入器向
46、目標(biāo)系統(tǒng)注入故障、從數(shù)據(jù)分析器讀回分析結(jié)果并顯示。故障注入器是一個(gè)獨(dú)立于目標(biāo)系統(tǒng)的硬件工具,作用是上位機(jī)控制軟件和目標(biāo)系統(tǒng)之間的橋梁,與上位機(jī)控制軟件通信獲得故障向量,進(jìn)行協(xié)議轉(zhuǎn)換,向目標(biāo)系統(tǒng)進(jìn)行實(shí)際的故障注入過(guò)程。行為監(jiān)視器和數(shù)據(jù)收集器的作用是觀察并記錄目標(biāo)系統(tǒng)在故障注入器注入故障之后的運(yùn)行狀況和異常情況。數(shù)據(jù)分析器的作用是分析行為監(jiān)視器和數(shù)據(jù)收集器收集到的目標(biāo)系統(tǒng)的運(yùn)行狀況參數(shù),得到目標(biāo)系統(tǒng)的可靠性信息。</p>&l
47、t;p> 圖1-3 硬件故障注入器基本結(jié)構(gòu)</p><p><b> 1.3硬件調(diào)試技術(shù)</b></p><p> 1.3.1 ICE調(diào)試技術(shù)</p><p> 為了解決集成電路復(fù)雜度越來(lái)越高,封裝密度越來(lái)越大帶來(lái)的調(diào)試難題,研究人員提出了在線仿真技術(shù)(ICE)。</p><p> ICE的工作原理是使
48、用一個(gè)專門(mén)的硬件設(shè)備來(lái)模擬要調(diào)試的芯片,給目標(biāo)程序提供一個(gè)和待調(diào)試系統(tǒng)一樣的模擬的運(yùn)行環(huán)境,這個(gè)設(shè)備可以取代待調(diào)試芯片的作用,與系統(tǒng)里其他電路協(xié)同工作,并且可以提供斷電調(diào)試、監(jiān)視數(shù)據(jù)等功能。這個(gè)模擬待調(diào)試芯片的設(shè)備叫做在線仿真器,和待調(diào)試的目標(biāo)系統(tǒng)(下位機(jī))、進(jìn)行調(diào)試的PC(上位機(jī))共同組成了ICE調(diào)試架構(gòu)。</p><p> 仿真器針對(duì)每一個(gè)待調(diào)試的芯片都要單獨(dú)設(shè)計(jì),其內(nèi)部集成了用于調(diào)試的單步執(zhí)行、斷點(diǎn)、數(shù)據(jù)
49、監(jiān)視等功能,仿真器通過(guò)專用接口連接到待調(diào)試目標(biāo)系統(tǒng)中,通過(guò)電纜連接到調(diào)試上位機(jī)[11]。圖1-4是一個(gè)典型的ICE 調(diào)試架構(gòu)。</p><p> ICE調(diào)試技術(shù)的主要缺點(diǎn)是不同型號(hào)、不同封裝的芯片都要使用不同的仿真器,這就導(dǎo)致了ICE調(diào)試技術(shù)缺乏通用性,一塊芯片生產(chǎn)出來(lái)之后通常要等很久才會(huì)出現(xiàn)這款芯片的仿真器,難以滿足市場(chǎng)的需求,這大大限制了仿真器的使用。</p><p> 圖1-4
50、 典型ICE調(diào)試結(jié)構(gòu)</p><p> 1.3.2 JTAG調(diào)試技術(shù)</p><p> 為了解決ICE技術(shù)在內(nèi)的硬件調(diào)試技術(shù)面臨的困難,JTAG(Joint Test Action Group)成立了,目的是尋找一種新的方便的通用硬件調(diào)試技術(shù)來(lái)解決系統(tǒng)級(jí)和板級(jí)電路的測(cè)試問(wèn)題。1990年IEEE批準(zhǔn)了JTAG提出的調(diào)試架構(gòu),將其命名為T(mén)est Access Port and Bo
51、undary Scan Architecture,編號(hào)IEEE 1149.1-1990。</p><p> JTAG的工作原理是在硬件電路設(shè)計(jì)時(shí)就將遵循JTAG協(xié)議的測(cè)試點(diǎn)和測(cè)試電路集成到硬件內(nèi)部,外界可以直接訪問(wèn)到這些測(cè)試電路進(jìn)行調(diào)試。</p><p> JTAG 技術(shù)通過(guò)邊界掃描寄存器單元(Boundary Scan Cell , BSC)對(duì)芯片內(nèi)部的測(cè)試點(diǎn)進(jìn)行讀寫(xiě)[12]。當(dāng)芯片
52、正常工作的時(shí)候,邊界掃描寄存器單元對(duì)芯片來(lái)說(shuō)是透明的,不參與芯片的運(yùn)行過(guò)程。當(dāng)芯片處于調(diào)試狀態(tài)的時(shí)候,外界可以用過(guò)控制測(cè)試訪問(wèn)接口(Test Access Point , TAP)控制器暫停芯片的運(yùn)行,隔斷芯片的輸入輸出,通過(guò)TDI端口輸入測(cè)試數(shù)據(jù),控制邊界掃描寄存器單元通過(guò)移位操作將測(cè)試數(shù)據(jù)傳入芯片寄存器或輸入管腳,將輸出管腳的信號(hào)傳輸?shù)絋DO端口[13]。圖1-5展示了邊界掃描寄存器單元的結(jié)構(gòu)。</p><p&g
53、t; 圖1-5 邊界掃描寄存器單元結(jié)構(gòu)</p><p> 邊界掃描寄存器單元包圍在芯片周圍,以“菊花鏈”的形式相互連接起來(lái)形成邊界掃描測(cè)試鏈。一個(gè)芯片一般會(huì)提供幾個(gè)邊界掃描測(cè)試鏈,有的測(cè)試鏈負(fù)責(zé)測(cè)試總線,有的負(fù)責(zé)測(cè)試內(nèi)存,有的負(fù)責(zé)測(cè)試芯片管腳等等。邊界掃描單元可以通過(guò)時(shí)鐘信號(hào)Clk和測(cè)試訪問(wèn)接口TAP控制器進(jìn)行控制,順序的進(jìn)行移位操作,將測(cè)試數(shù)據(jù)移位進(jìn)芯片的輸入管腳,將芯片的輸出管腳信號(hào)移位出來(lái)。這樣就構(gòu)建
54、起了一個(gè)完整的可以調(diào)試任意位置的數(shù)據(jù)通路,有TAP控制器來(lái)控制[14]。</p><p> JTAG調(diào)試架構(gòu)一般包含三個(gè)組成部分:集成有JTAG協(xié)議的待調(diào)試目標(biāo)系統(tǒng)也叫下位機(jī)、用于調(diào)試的PC也叫上位機(jī)和協(xié)議轉(zhuǎn)換器[15],如圖 1-6所示。協(xié)議轉(zhuǎn)換器的作用是連接上位機(jī)和下位機(jī),接收來(lái)自上位機(jī)的控制信號(hào)和測(cè)試數(shù)據(jù),將測(cè)試數(shù)據(jù)按照J(rèn)TAG協(xié)議重新封裝,通過(guò)控制下位機(jī)的TAP端口對(duì)下位機(jī)進(jìn)行調(diào)試。</p>
55、<p> 圖1-6 典型JTAG調(diào)試結(jié)構(gòu)</p><p> 1.4 FPGA技術(shù)及SOPC技術(shù)</p><p> FPFA全稱是現(xiàn)場(chǎng)可編程門(mén)陣列,屬于可編程邏輯器件的一種,在上世紀(jì)90年代獲得突飛猛進(jìn)的發(fā)展,經(jīng)過(guò)這些年的發(fā)展,F(xiàn)PGA已經(jīng)成為嵌入式系統(tǒng)中很重要的一員[16]。FPGA是PAL(Programmable Array Logic,PAL)、GAL(Gene
56、ric Array Logic,GAL)、EPLD(Erasable Programmable Logic Device)、CPLD(Complex Programmable Logic Device)等可編程器件進(jìn)一步發(fā)展的產(chǎn)物。FPGA與傳統(tǒng)ASIC相比,解決了傳統(tǒng)ASIC電路一旦設(shè)計(jì)完成就不能修改的缺點(diǎn),隨時(shí)可以通過(guò)編程設(shè)計(jì)新電路,而且超大規(guī)模地SRAM電路也解決了傳統(tǒng)可編程邏輯器件門(mén)電路數(shù)量少的缺點(diǎn)。</p>&l
57、t;p> SOPC全稱是可編程的片上系統(tǒng),以FPGA為基礎(chǔ)。SOPC技術(shù)的目的是將一個(gè)完整的系統(tǒng)包括嵌入式處理芯片、存儲(chǔ)系統(tǒng)、內(nèi)存等都實(shí)現(xiàn)在一個(gè)FPGA芯片里,使用IP核的技術(shù)復(fù)用電路設(shè)計(jì),能夠大大簡(jiǎn)化電路設(shè)計(jì)。SOPC因?yàn)槠潇`活、高效、可重用等特點(diǎn)廣泛應(yīng)用于嵌入式領(lǐng)域中。</p><p> 1.5國(guó)內(nèi)外研究現(xiàn)狀</p><p> 在故障注入技術(shù)和工具的研究上,國(guó)外要領(lǐng)先于國(guó)內(nèi)
58、。</p><p> 國(guó)外目前成功研制了硬件故障注入器Messaline[17]、Fist[18]、Mars[19]等,和軟件故障注入器Fiat[20]、Ferrari[21]、Define[22]、Doctor[23]、Xception[24]等。FIAT能針對(duì)目標(biāo)系統(tǒng)的內(nèi)存進(jìn)行故障注入,破壞系統(tǒng)的內(nèi)存映像[20][25]。Doctor能夠針對(duì)分布式實(shí)時(shí)系統(tǒng)的處理器、內(nèi)存等進(jìn)行故障注入[23][25]。Fer
59、rari使用UNIX的系統(tǒng)函數(shù)Ptrace在運(yùn)行期間修改程序的內(nèi)存區(qū)域,讀寫(xiě)內(nèi)存數(shù)據(jù)并且正在指令流程中插入指令[21][25]。Xception在目標(biāo)處理器內(nèi)部直接編程調(diào)試硬件,并帶有許多故障觸發(fā)器來(lái)激活故障,在處理器內(nèi)部執(zhí)行檢測(cè)硬件來(lái)記錄目標(biāo)系統(tǒng)故障注入后的詳細(xì)行為信息[24][25]。Jean Arlat,Yves Crouzet等對(duì)軟件故障注入和物理故障注入技術(shù)進(jìn)行了比較[26]。Haissam Ziade, Rafic Ayou
60、bi等人對(duì)故障注入的工具做了總結(jié)[27]。</p><p> 在基于JTAG的故障注入領(lǐng)域,Hung-chi Lihn等提出了一種可多次使用的、低成本的、可靈活配置的 JTAG 體系結(jié)構(gòu)[28]。Bradford G. Van Treuren等對(duì)于系統(tǒng)級(jí)的JTAG 邊界掃描調(diào)試提出了一些新的方法,用于數(shù)據(jù)及指令測(cè)試[29]。Bradford G.Van Treuren, Chen-Huan Chiang等使用邊
61、界掃描技術(shù)對(duì)海量存儲(chǔ)系統(tǒng)進(jìn)行了測(cè)試[30]。Leon van de Log, Frank van der Heyden等提出了一種在線高速調(diào)試的 JTAG 體系擴(kuò)展[31]。</p><p> 國(guó)內(nèi)在這個(gè)領(lǐng)域的研究起步較晚,主要有哈工大,中科院計(jì)算所、國(guó)防科技大學(xué)等研究機(jī)構(gòu)對(duì)此進(jìn)行了研究。目前哈工大已經(jīng)成功研制了 FIT -1[32]、HFI_2[33]、HFI_4[34]、HFI_1533B[35]等一系列故
62、障注入工具。哈工大的錢軍等提出了基于JTAG技術(shù)實(shí)現(xiàn)故障注入的思想[36]。陳招偉等針對(duì)ARM等一系列嵌入式CPU研究了調(diào)試工具[37]。</p><p> 1.6課題的主要內(nèi)容和論文結(jié)構(gòu)</p><p> 本文設(shè)計(jì)并實(shí)現(xiàn)了基于JTAG的面向嵌入式系統(tǒng)的硬件故障注入器,并利用該工具針對(duì)LEON3處理器進(jìn)行了故障注入實(shí)驗(yàn)。主要研究?jī)?nèi)容有:</p><p> 故障
63、注入整體方案設(shè)計(jì);</p><p> 設(shè)計(jì)和實(shí)現(xiàn)硬件故障注入器,包括硬件電路設(shè)計(jì)、PCB設(shè)計(jì)、實(shí)現(xiàn)JTAG邏輯轉(zhuǎn)換和數(shù)據(jù)封裝、仿真驗(yàn)證JTAG時(shí)序、定義故障注入指令等;</p><p> 設(shè)計(jì)與實(shí)現(xiàn)上位機(jī)控制軟件,包括界面設(shè)計(jì)、故障向量的設(shè)置與生成、與故障注入器之間的USB通信等;</p><p> 將LEON3處理器移植到實(shí)驗(yàn)使用的FPGA芯片中并向其中注入
64、故障。</p><p><b> 本文共包含5章:</b></p><p> 第一章介紹了本課題的研究背景,并介紹了該領(lǐng)域容錯(cuò)技術(shù)、可靠性、故障注入方法、硬件調(diào)試技術(shù)、FPGA等。</p><p> 第二章詳細(xì)研究了JTAG硬件調(diào)試協(xié)議的內(nèi)容和LEON3處理器的特點(diǎn)、容錯(cuò)技術(shù)和調(diào)試架構(gòu),并在此設(shè)計(jì)了故障注入工具的整體結(jié)構(gòu)。</p&g
65、t;<p> 第三章詳細(xì)說(shuō)明了故障注入工具的具體設(shè)計(jì)與實(shí)現(xiàn)。</p><p> 第四章使用本課題設(shè)計(jì)的故障注入工作對(duì)LEON3處理進(jìn)行了故障注入實(shí)驗(yàn),并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了分析。</p><p> 第五章總結(jié)了本課題的工作并展望了本課題后續(xù)的改進(jìn)工作。</p><p> 第2章 故障注入工具整體方案</p><p> 2
66、.1 JTAG規(guī)范</p><p> IEEE1149.1-1900邊界掃描規(guī)范[38]中定義的JTAG邊界掃描架構(gòu)如圖2-1所示,主要由四個(gè)主要部分組成:</p><p> 圖2-1 JTAG邊界掃描架構(gòu)</p><p><b> 測(cè)試訪問(wèn)端口</b></p><p> 測(cè)試訪問(wèn)端口全稱是Test Acces
67、s Point,簡(jiǎn)稱TAP 端口,TAP端口的作用是為邊界掃描測(cè)試鏈提供時(shí)鐘信號(hào)TCK,控制信號(hào)TMS,復(fù)位信號(hào)TRST,輸入數(shù)據(jù)TDI,并讀取輸出數(shù)據(jù)TDO,五個(gè)信號(hào)的作用分別是:</p><p> TCK:全稱是Test Clock Input,測(cè)試時(shí)鐘輸入信號(hào),IEEE1149.1-1900 規(guī)范中規(guī)定TCK為必選的輸入信號(hào),為T(mén)AP控制器提供獨(dú)立的時(shí)鐘時(shí)序,TAP所有操作都要有這個(gè)TCK信號(hào)來(lái)驅(qū)動(dòng)。&l
68、t;/p><p> TMS:全稱是Test Mode Selection Input,測(cè)試模式選擇信號(hào),TAP控制器16-狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換受TMS信號(hào)的控制,比如由運(yùn)行狀態(tài)轉(zhuǎn)換為調(diào)試狀態(tài),TMS信號(hào)由TCK信號(hào)的上升沿驅(qū)動(dòng),是IEEE1149.1-1900規(guī)范中要求必選的輸入信號(hào)。</p><p> TDI:全稱是Test Data Input,測(cè)試數(shù)據(jù)輸入信號(hào),作用是為邊界掃描測(cè)試鏈提供
69、測(cè)試輸入數(shù)據(jù)。TDI信號(hào)連接到邊界掃描測(cè)試鏈的輸入端,由TAP控制器控制,選擇連接到哪一條邊界掃描測(cè)試鏈,通過(guò)移位的方法將測(cè)試數(shù)據(jù)移位進(jìn)邊界測(cè)試掃描單元。TDI信號(hào)由TCK信號(hào)的上升沿驅(qū)動(dòng),是IEEE1149.1-1900規(guī)范中要求必選的輸入信號(hào)。</p><p> TDO:全稱是Test Data OutPut,測(cè)試數(shù)據(jù)輸出信號(hào),作用是獲取邊界掃描測(cè)試鏈的輸出。TDO信號(hào)連接到邊界掃描測(cè)試鏈的輸出端,由TAP
70、控制器控制,選擇連接到哪一條邊界掃描測(cè)試鏈,通過(guò)移位的方法將邊界掃描測(cè)試鏈的輸出數(shù)據(jù)移位到TDO信號(hào)。TDO信號(hào)由TCK信號(hào)的下降沿驅(qū)動(dòng),是IEEE1149.1-1900規(guī)范中要求必選的輸出信號(hào)。</p><p> TRST:全稱是Test Reset Input,測(cè)試復(fù)位輸入信號(hào)。TRST信號(hào)的作用是使TAP控制器回復(fù)復(fù)位到初始狀態(tài),當(dāng)TRST電平為低電壓時(shí)該信號(hào)有效。IEEE1149.1-1900規(guī)范中要求
71、TRST信號(hào)為可選的輸入信號(hào)。如果TAP端口沒(méi)有接入TRST信號(hào),可以通過(guò)連續(xù)提供五個(gè)TCK信號(hào)上升沿來(lái)實(shí)現(xiàn)TAP控制器的復(fù)位。</p><p><b> 測(cè)試訪問(wèn)接口控制器</b></p><p> 測(cè)試訪問(wèn)接口控制器,簡(jiǎn)稱TAP控制器。TAP控制器是一個(gè)包含了16個(gè)狀態(tài)的有限狀態(tài)自動(dòng)機(jī),通過(guò)這16個(gè)狀態(tài)的轉(zhuǎn)換,TAP控制器能夠?qū)崿F(xiàn)解析JTAG控制指令,完成整個(gè)
72、數(shù)據(jù)流程。TAP控制器由TCK信號(hào)提供時(shí)鐘時(shí)序,接受TMS信號(hào)的控制進(jìn)行狀態(tài)轉(zhuǎn)換,控制TDI輸入端口和TDO輸出端口之間接入哪一條邊界掃描測(cè)試鏈,通過(guò)TDI輸入端口向邊界掃描測(cè)試鏈提供測(cè)試數(shù)據(jù),通過(guò)TDO端口獲取邊界掃描測(cè)試鏈的輸出數(shù)據(jù)。TAP控制器的所有狀態(tài)轉(zhuǎn)換圖如圖2-2所示,其中六邊形代表16個(gè)狀態(tài),狀態(tài)之間的箭頭表示狀態(tài)之間的轉(zhuǎn)換條件:</p><p> 圖2-2 TAP控制器狀態(tài)轉(zhuǎn)換圖</p&
73、gt;<p> TAP控制器所有狀態(tài)所代表的意義如下:</p><p> Test-Logic Reset:測(cè)試邏輯復(fù)位狀態(tài),這個(gè)狀態(tài)是TAP控制器的初始狀態(tài),在這個(gè)狀態(tài)下邊界掃描架構(gòu)停止工作,邊界掃描測(cè)試單元處于透明狀態(tài),待測(cè)芯片正常工作。系統(tǒng)開(kāi)始通電工作時(shí),TAP控制器處于這個(gè)狀態(tài),在工作中可以通過(guò)將TRST信號(hào)置為低電平或者在TCK信號(hào)中連續(xù)提供五個(gè)上升沿使TAP控制器回到該狀態(tài)。<
74、/p><p> Run-Test/Idle:運(yùn)行測(cè)試/空閑狀態(tài),這個(gè)狀態(tài)是一個(gè)在不同操作之間停留的一個(gè)中間狀態(tài),當(dāng)TMS信號(hào)變?yōu)榈碗娖綍r(shí),TAP控制器進(jìn)入這個(gè)狀態(tài)等待TMS信號(hào)上升沿的來(lái)臨。在這個(gè)狀態(tài)下芯片停止運(yùn)行,有些芯片會(huì)在這個(gè)狀態(tài)下會(huì)單步執(zhí)行一條指令流中指令。</p><p> Select-DR-Scan:數(shù)據(jù)寄存器選擇狀態(tài)。當(dāng)TAP控制器迎來(lái)TMS信號(hào)的第一個(gè)上升沿之后即進(jìn)入這個(gè)
75、狀態(tài),進(jìn)入該狀態(tài)之前應(yīng)用執(zhí)行一條JTAG指令選定一個(gè)數(shù)據(jù)寄存器,該狀態(tài)會(huì)將該寄存器作為當(dāng)前操作的對(duì)象。</p><p> Capture-DR:數(shù)據(jù)捕獲狀態(tài),選定數(shù)據(jù)寄存器之后,TMS的下降沿會(huì)使TAP控制器進(jìn)入數(shù)據(jù)捕獲狀態(tài),進(jìn)入該狀態(tài)后,如果迎來(lái)TCK信號(hào)的上升沿,TAP控制器會(huì)將芯片的輸出信號(hào)通過(guò)移位的方法“捕獲”到對(duì)應(yīng)的數(shù)據(jù)寄存器中。</p><p> Shift-DR:數(shù)據(jù)移位
76、狀態(tài)。數(shù)據(jù)捕獲狀態(tài)完成之后,TMS信號(hào)應(yīng)該保持低電平,TAP控制器進(jìn)入數(shù)據(jù)移位狀態(tài),在TCK信號(hào)的驅(qū)動(dòng)下,TAP控制器通過(guò)移位操作將TDI輸入信號(hào)的數(shù)據(jù)移位到選定的數(shù)據(jù)寄存器中,將數(shù)據(jù)捕獲狀態(tài)狀態(tài)中捕獲到的數(shù)據(jù)移位到TDO端口中輸出。</p><p> Update-DR:數(shù)據(jù)寄存器更新?tīng)顟B(tài)。TMS電平變?yōu)楦唠娖綍r(shí),TAP控制器進(jìn)入數(shù)據(jù)寄存器更新?tīng)顟B(tài),在這個(gè)狀態(tài)下,每當(dāng)TCK信號(hào)上升沿來(lái)臨時(shí),TAP控制器控制數(shù)
77、據(jù)寄存器中存儲(chǔ)的數(shù)據(jù)加載到其圍繞的芯片管腳上,驅(qū)動(dòng)核心電路工作,至此完成將數(shù)據(jù)輸入到待測(cè)電路中。</p><p> 上述過(guò)程可以重復(fù)進(jìn)行,直到完成將所有測(cè)試數(shù)據(jù)都輸入到芯片中去。</p><p> Select-IR-Scan:指令寄存器選擇狀態(tài)。當(dāng)TAP控制器處于數(shù)據(jù)寄存器選擇狀態(tài)時(shí),不在TMS信號(hào)中提供下降沿,而是一直維持TMS在高電平,下一個(gè)時(shí)鐘上升沿來(lái)臨時(shí),TAP控制器將進(jìn)入指
78、令寄存器選擇狀態(tài),這個(gè)狀態(tài)會(huì)選擇JTAG 指令寄存器而不再是數(shù)據(jù)寄存器作為當(dāng)前操作對(duì)象。</p><p> Capture-IR:指令寄存器獲取狀態(tài)。和數(shù)據(jù)寄存器獲取狀態(tài)類似,在這個(gè)狀態(tài)下,當(dāng)TCK信號(hào)迎來(lái)一個(gè)上升沿的時(shí)候TAP控制器會(huì)控制CPU根據(jù)當(dāng)前的JTAG指令產(chǎn)生一系列邏輯序列,并把該序列裝入到JTAG指令寄存器中。</p><p> Shift-IR:指令寄存器移位狀態(tài)。和數(shù)
79、據(jù)寄存器移位狀態(tài)類似,在TCK信號(hào)迎來(lái)上升沿的時(shí)候,將TDI中的數(shù)據(jù)寫(xiě)入JTAG指令寄存器,將指令寄存器獲取狀態(tài)中獲取的數(shù)據(jù)輸出到TDO端口中。</p><p> Update-IR:指令寄存器更新?tīng)顟B(tài)。和數(shù)據(jù)寄存器移位狀態(tài)類似,當(dāng)TCK信號(hào)上升沿來(lái)臨時(shí),將執(zhí)行JTAG指令寄存器中的指令,控制芯片完成相應(yīng)操作并更新指令寄存器中的內(nèi)容。</p><p> Exit1-DR/Exit2-D
80、R/Exit1-IR/Exit2-IR/Pause-DR/Pause-IR:這六個(gè)狀態(tài)都是臨時(shí)狀態(tài),在這些狀態(tài)里,指令寄存器IR和數(shù)據(jù)寄存器DR中的數(shù)據(jù)都保持不變。</p><p> 通過(guò)以上TAP控制器的狀態(tài)轉(zhuǎn)換可以看出,JTAG的工作原理就是將數(shù)據(jù)寄存器或者指令寄存器置于TDI和TDO之間,并通過(guò)移位對(duì)其進(jìn)行讀寫(xiě)。</p><p> JTAG指令寄存器IR</p>&
81、lt;p> JTAG指令寄存器IR用于存儲(chǔ)從TDI移位移入的指令,TAP控制器對(duì)其中的指令進(jìn)行解碼,確定要訪問(wèn)的數(shù)據(jù)寄存器或者指令寄存器,對(duì)它們進(jìn)行相應(yīng)的讀寫(xiě)操作。IEEE1149.1-1900中定義的常用指令有:BYPASS指令用于操作BYPASS旁路寄存器,INCODE指令用于操作設(shè)備識(shí)別寄存器,INTEST指令用來(lái)操作邊界掃描寄存器等等。</p><p><b> 數(shù)據(jù)寄存器</b
82、></p><p> JTAG架構(gòu)中的寄存器可以分為指令寄存器和數(shù)據(jù)寄存器,數(shù)據(jù)寄存器用來(lái)存放輸入和輸出數(shù)據(jù),上面提到的邊界掃描寄存器、旁路寄存器、設(shè)備識(shí)別寄存器都屬于數(shù)據(jù)寄存器[39]。</p><p> 2.2 LEON3架構(gòu)</p><p><b> 2.2.1 簡(jiǎn)介</b></p><p> LEO
83、N系列處理器是目前嵌入式系統(tǒng)SOPC設(shè)計(jì)廣泛使用的一款32位微處理器核,由歐洲航空局開(kāi)發(fā)。LEON系列處理器基于SPARC V8 RISC精簡(jiǎn)指令集設(shè)計(jì),源代碼使用VHDL代碼編寫(xiě),并且遵循GPL協(xié)議公開(kāi)了源代碼,任何人都可以免費(fèi)在自己的設(shè)計(jì)中根據(jù)自己的需要對(duì)其進(jìn)行配置使用,應(yīng)用非常廣泛,而且LEON3處理器有著容錯(cuò)版本和非容錯(cuò)版本,有利于驗(yàn)證故障注入的效果,所以本論文以LEON3處理器作為實(shí)驗(yàn)的目標(biāo)系統(tǒng)。LEON3的結(jié)構(gòu)框圖如圖2-3
84、所示。</p><p> LEON系列處理器性能理想,最高可以達(dá)到0.85MIPS/MHz的速度,并且加入了容錯(cuò)技術(shù),LEON處理器提供了兩條邊界掃描測(cè)試鏈進(jìn)行JTAG調(diào)試,一條測(cè)試鏈基于AMBA總線,一條測(cè)試鏈基于LEON處理器提供的在線調(diào)試單元DSU。本課題實(shí)驗(yàn)中以LEON處理器為目標(biāo)進(jìn)行了故障注入實(shí)驗(yàn)。</p><p> 圖2-3 LEON3處理器結(jié)構(gòu)框圖</p>
85、<p> 2.2.2 LEON3特點(diǎn)</p><p> LEON3處理器的主要特點(diǎn)是采用SPARC V8架構(gòu)、加入了容錯(cuò)設(shè)計(jì)和使用VHDL編程風(fēng)格。</p><p> SPARC全稱是可擴(kuò)展處理器體系架構(gòu),是一個(gè)基于RISC精簡(jiǎn)指令集的派生指令集結(jié)構(gòu),就是說(shuō)除了定義了指令集以外還定義了寄存器結(jié)構(gòu)、指令寄存器、數(shù)據(jù)寄存器等。SPARC架構(gòu)處理器包含整數(shù)單元(IU)、浮點(diǎn)數(shù)單
86、元(FPU)、協(xié)處理器單元(CP)以及它們各自對(duì)應(yīng)的寄存器[40]。LEON3則采用了SPARC V8的架構(gòu),使LEON3在擁有較高的性能的同時(shí)擁有廣泛的應(yīng)用場(chǎng)景。</p><p> LEON3同時(shí)也加入了容錯(cuò)設(shè)計(jì)來(lái)適應(yīng)高可靠性需求的應(yīng)用場(chǎng)景,LEON3采用了多個(gè)層次上的容錯(cuò)機(jī)制:奇偶校驗(yàn)、三模表決冗余寄存器、流水線重啟、片上EDAC(檢錯(cuò)和糾錯(cuò))等[41]。雖然現(xiàn)在常用的CPU幾乎都加入了一些常規(guī)的奇偶校驗(yàn)等
87、容錯(cuò)機(jī)制,不過(guò)LEON3的容錯(cuò)機(jī)制遠(yuǎn)比一般的CPU更加強(qiáng)大和全面。</p><p> 不同于傳統(tǒng)的“數(shù)據(jù)流”編碼風(fēng)格不同,LEON3不只是簡(jiǎn)單的以并發(fā)執(zhí)行的進(jìn)程作為模塊,而是采用了一種“二進(jìn)制”的設(shè)計(jì)方法。這種設(shè)計(jì)方法代碼可讀性強(qiáng)、抽象度高、仿真時(shí)間短,大大增加了LEON3的適應(yīng)能力和可配置能力。</p><p> 2.2.3 LEON3的容錯(cuò)機(jī)制</p><p&g
88、t; 為了適應(yīng)高可靠性要求的應(yīng)用場(chǎng)景,LEON3在多個(gè)層次上加入了容錯(cuò)機(jī)制,主要針對(duì)SEU(瞬間錯(cuò)誤)進(jìn)行了著重處理。LEON3的容錯(cuò)設(shè)計(jì)主要作用在于保護(hù)片上RAM塊,RAM塊的作用是存儲(chǔ)IU寄存器堆、FPU寄存器堆和Cache寄存器堆[41]。LEON3所使用的容錯(cuò)技術(shù)主要有以下幾點(diǎn):</p><p><b> Cache的容錯(cuò)</b></p><p> Ca
89、che的使用對(duì)于提高CPU的性能非常重要,能夠加快CPU對(duì)內(nèi)存的讀寫(xiě)速度。由于Cache的運(yùn)行速度非常高,而且Cache內(nèi)部的數(shù)據(jù)量比較小,為了減少時(shí)間開(kāi)銷,Cache使用了奇偶校驗(yàn)作為主要容錯(cuò)方法,添加了2個(gè)奇偶校驗(yàn)位,1個(gè)奇校驗(yàn)位,1個(gè)偶校驗(yàn)位,能夠檢查出所有的錯(cuò)誤。如果奇偶校驗(yàn)過(guò)程中發(fā)現(xiàn)Cache中的數(shù)據(jù)出錯(cuò)將會(huì)強(qiáng)制Cache不命中,丟掉其中的數(shù)據(jù),從RAM中重新獲取數(shù)據(jù)。</p><p> 除了奇偶校驗(yàn)
90、法,LEON3的Cache系統(tǒng)還支持1-4路互聯(lián),每路的寬度為256Kb,每一條指令的32位中有一個(gè)有效位。Cache分為指令Cache和數(shù)據(jù)Cache兩種,指令Cache使用流方式來(lái)進(jìn)行填充,目的是減少指令填充的延時(shí),數(shù)據(jù)Cache使用寫(xiě)直達(dá)方法讀取數(shù)據(jù),目的是保重Cache中的數(shù)據(jù)始終保持和RAM中的數(shù)據(jù)一致,這大大提高了數(shù)據(jù)Cache的容錯(cuò)能力。</p><p><b> 寄存器文件的容錯(cuò)<
91、;/b></p><p> 寄存器文件是LEON3處理器寄存器堆的實(shí)際存儲(chǔ)位置,主要存儲(chǔ)了IU寄存器堆和FPU寄存器堆。處理器內(nèi)部的寄存器使用非常頻繁,幾乎每一條指令都要訪問(wèn)這些寄存器,所以寄存器堆的容錯(cuò)能力對(duì)處理器的容錯(cuò)能力至關(guān)重要。寄存器文件使用的容錯(cuò)方法是采用2個(gè)奇偶校驗(yàn)位,1個(gè)奇校驗(yàn),1個(gè)偶校驗(yàn),同時(shí)對(duì)每32位(一條指令寬度)都是用一個(gè)7位的BCH校驗(yàn)就行檢查和容錯(cuò)。</p><
92、;p><b> 觸發(fā)器的容錯(cuò)</b></p><p> 三模表決冗余方法(TMR)是容錯(cuò)技術(shù)里非常常用的一種方法,因?yàn)楣收习l(fā)生的概率比較低,三個(gè)冗余模塊中兩個(gè)或兩個(gè)以上模塊同時(shí)發(fā)生錯(cuò)誤并且發(fā)生的錯(cuò)誤一模一樣的概率非常非常低,所以三模表決冗余方法是一種很有效的容錯(cuò)方法,容錯(cuò)能力與奇偶校驗(yàn)法相比高很多,而且不像奇偶校驗(yàn)法主要用來(lái)檢查出錯(cuò)誤但是容錯(cuò)能力相對(duì)較低,但是損失的性能比奇偶校驗(yàn)多
93、。因?yàn)橛|發(fā)器的速度要求不像Cache和寄存器堆一樣高,LEON3處理器的觸發(fā)器都采用了三模表決冗余設(shè)計(jì),將所有硬件模塊都增加為三倍冗余,三個(gè)冗余模塊的輸出都連接到一個(gè)多數(shù)表決器上來(lái)獲得三個(gè)模塊中的多數(shù)結(jié)果作為最終的正確結(jié)果。圖2-4是觸發(fā)器三模冗余設(shè)計(jì)的示意圖。</p><p> 圖2-4 觸發(fā)器三模冗余設(shè)計(jì)</p><p> TMR寄存器模塊中,三個(gè)觸發(fā)器相互獨(dú)立,但是擁有同一個(gè)時(shí)
94、鐘和數(shù)據(jù)源。如果運(yùn)行過(guò)程中一個(gè)觸發(fā)器的計(jì)算結(jié)果出現(xiàn)錯(cuò)誤,另外兩個(gè)觸發(fā)器的結(jié)果是正確的,那么就能通過(guò)表決機(jī)制得到正確結(jié)果。這樣做的好處是TMR模塊對(duì)于流水線上的其他部分類似于一個(gè)黑盒,不會(huì)對(duì)流水線的數(shù)據(jù)流和設(shè)計(jì)流程產(chǎn)生影響,而且當(dāng)一個(gè)故障發(fā)生時(shí)在這個(gè)黑盒里就會(huì)被屏蔽,而不會(huì)沿著流水線傳播下去導(dǎo)致故障的積累。</p><p><b> 外部存儲(chǔ)器的容錯(cuò)</b></p><p
95、> 由于存儲(chǔ)器的存儲(chǔ)結(jié)構(gòu)比較連續(xù),所以外部存儲(chǔ)器中出現(xiàn)的錯(cuò)誤主要是SEU引起的一位或連續(xù)多位的位翻轉(zhuǎn),所以外部存儲(chǔ)器的容錯(cuò)方法采用了檢錯(cuò)糾錯(cuò)碼EDAC技術(shù)。</p><p> EDAC技術(shù)是檢錯(cuò)糾錯(cuò)技術(shù)的統(tǒng)稱,常用的奇偶校驗(yàn)碼、海明碼等都屬于EDAC技術(shù),主要目的是在檢查到錯(cuò)誤的同時(shí)盡量對(duì)錯(cuò)誤進(jìn)行修正。EDAC技術(shù)中不同的編碼方法容錯(cuò)能力也不同,例如奇偶校驗(yàn)碼只能檢查并修正一個(gè)碼字出現(xiàn)的錯(cuò)誤[42],如
96、果出現(xiàn)偶數(shù)碼字的錯(cuò)誤將無(wú)法檢測(cè)到,如果出現(xiàn)奇數(shù)個(gè)碼字錯(cuò)誤將能夠檢測(cè)到錯(cuò)誤但是無(wú)法進(jìn)行糾錯(cuò)。海明碼可以檢查和修正任意一個(gè)碼字出現(xiàn)的錯(cuò)誤,但是存儲(chǔ)代價(jià)比較大。LEON3的外部存儲(chǔ)器使用了標(biāo)準(zhǔn)BCH編碼,即每32位使用7為的校驗(yàn)和來(lái)檢錯(cuò)糾錯(cuò),能夠檢測(cè)到2位錯(cuò)誤并且糾正1位錯(cuò)誤。</p><p><b> 主檢測(cè)模式</b></p><p> 如果對(duì)可靠性還有更高的要求,
97、則可以在處理器層次上使用類似TMR容錯(cuò)技術(shù),即增加一個(gè)冗余處理器,兩個(gè)處理器一個(gè)處于主模式,一個(gè)處于檢測(cè)模式,同時(shí)處理相同的輸入數(shù)據(jù)和時(shí)鐘輸入,輸出時(shí)對(duì)兩個(gè)處理器的輸出結(jié)果作對(duì)比,檢查是否計(jì)算出錯(cuò)。這種方法能夠極大地提高可靠性。</p><p> 2.2.4 LEON3的調(diào)試架構(gòu)</p><p> LEON3實(shí)現(xiàn)了兩條邊界掃描測(cè)試鏈,一條基于內(nèi)部的AMBA總線,一條基于LEON3內(nèi)部的
98、DSU在線調(diào)試單元。LEON3架構(gòu)中可以連接到TDI和TDO之間的寄存器共有6種:指令寄存器、旁路寄存器、掃描鏈選擇寄存器、設(shè)備識(shí)別寄存器、第一條邊界掃描鏈、第二條邊界掃描鏈。</p><p> LEON3實(shí)現(xiàn)了以下JTAG調(diào)試指令:</p><p> SCAN_N指令:選擇邊界掃描測(cè)試鏈指令。這條指令的作用是在邊界掃描選擇寄存器中寫(xiě)入要使用的邊界掃描鏈編號(hào),選定接下來(lái)要操作的邊界掃描
99、測(cè)試鏈。對(duì)應(yīng)的二進(jìn)制編碼是4’b0010。</p><p> INTEST指令:內(nèi)部測(cè)試指令。這條指令的作用是將SCAN_N指令選定的邊界掃描測(cè)試鏈加載到TDI和TDO之間,并通過(guò)移位的方法將TDI上輸入的串行數(shù)據(jù)加載到芯片內(nèi)部,再將芯片的運(yùn)行結(jié)果用移位的方法加載到TDO上輸出。對(duì)應(yīng)的二進(jìn)制編碼是4’b1100。</p><p> EXTEST指令:外部測(cè)試指令。這條指令的作用是測(cè)試邊
100、界掃描鏈的連通性,將選定的掃描鏈加載到TDI和TDO之間,將TDI上的串行數(shù)據(jù)加載到芯片的輸出管腳,然后通過(guò)移位的方式將輸出移位到TDO上來(lái)測(cè)試是否聯(lián)通。對(duì)應(yīng)的二進(jìn)制編碼是4’b0000。</p><p> INCODE指令:身份識(shí)別指令。這條指令的作用是將數(shù)據(jù)識(shí)別寄存器加載到TDI和TDO之間,讀取寄存器里存儲(chǔ)的與芯片相關(guān)的信息。</p><p> BYPASS指令:穿透指令。這條指
101、令的作用是提供一個(gè)最短的穿過(guò)芯片的路徑。如果當(dāng)前測(cè)試對(duì)象的當(dāng)前掃描鏈上其余的數(shù)據(jù)寄存器,那么使用這條指令將非測(cè)試數(shù)據(jù)寄存器上連接一個(gè)1位的旁路寄存器來(lái)盡量減少路徑的長(zhǎng)度。</p><p> RESTART指令:退出調(diào)試狀態(tài),處理器繼續(xù)正常運(yùn)行。對(duì)應(yīng)的二進(jìn)制編碼是4’b1110。</p><p> LEON3的第二條掃描鏈基于內(nèi)部實(shí)現(xiàn)的在線調(diào)試單元DSU(Debug Support Un
102、it)實(shí)現(xiàn),目的是為硬件調(diào)試提供更快捷方便的方法??梢允褂肈SU在調(diào)試模式里訪問(wèn)LEON的資源,比如存儲(chǔ)器和外設(shè)。DSU的結(jié)構(gòu)如圖2-5所示:</p><p> 圖2-5 LEON3處理的DSU調(diào)試架構(gòu)[43]</p><p> 2.3 故障注入整體方案</p><p> 基于JTAG的硬件故障注入工具主要有三部分組成:負(fù)責(zé)控制故障注入流程的上位機(jī),也叫主控
103、機(jī);負(fù)責(zé)實(shí)際注入故障的故障注入器;和待調(diào)試的目標(biāo)系統(tǒng)。上位機(jī)通過(guò)USB接口與故障注入器相連,串行傳輸數(shù)據(jù),故障注入器通過(guò)JTAG直接和目標(biāo)系統(tǒng)相連。圖2-6展示了故障注入工具的邏輯結(jié)構(gòu)。</p><p> 圖2-6 硬件故障注入工具邏輯結(jié)構(gòu)</p><p> 注入工作的步驟如下:首先故障注入系統(tǒng)建立起來(lái)的時(shí)候目標(biāo)系統(tǒng)(本實(shí)驗(yàn)里就是LEON3處理器)處于正常工作的狀態(tài),上位機(jī)控制軟件發(fā)
104、出注入故障的信號(hào)給硬件故障注入器,故障注入器首先通過(guò)改寫(xiě)處理器DCR寄存器的值使目標(biāo)系統(tǒng)進(jìn)入調(diào)試模式,接下來(lái)故障注入器接收來(lái)自上位機(jī)的故障向量,解析這些故障向量并且模擬出相應(yīng)的JTAG控制時(shí)序,根據(jù)注入故障的位置和類型,選擇邊界掃描測(cè)試鏈,將數(shù)據(jù)傳輸?shù)教幚砥髦小D2-7展示了故障注入工具的數(shù)據(jù)流。</p><p> 圖2-7 故障注入工具數(shù)據(jù)流圖</p><p> 在這個(gè)過(guò)程中,故障
105、注入工具繞過(guò)了操作系統(tǒng)的數(shù)據(jù)保護(hù)限制,成功把故障注入到了目標(biāo)系統(tǒng)的總線、寄存器、內(nèi)存、外部存儲(chǔ)中,而當(dāng)目標(biāo)系統(tǒng)返回正常工作模式后會(huì)繼續(xù)斷點(diǎn)之前的指令繼續(xù)執(zhí)行,完成了在故障注入的過(guò)程。</p><p> 圖2-8展示了基于JTAG的硬件故障注入工具的具體模塊圖。其中上位機(jī)控制軟件的作用有:查詢故障向量數(shù)據(jù)庫(kù)、構(gòu)建故障向量、設(shè)置故障注入的類型、設(shè)置目標(biāo)平臺(tái)的類型、時(shí)間和數(shù)據(jù)、通過(guò)USB與硬件故障注入器進(jìn)行通信、檢查
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于jtag的嵌入式故障注入平臺(tái)
- 基于JTAG的嵌入式故障注入平臺(tái).doc
- 基于故障注入的嵌入式系統(tǒng)測(cè)試研究.pdf
- 基于JTAG的CPU故障注入工具的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于JTAG的嵌入式硬件測(cè)試平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于聯(lián)合仿真的故障注入平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 船舶系統(tǒng)在線式多類故障注入控制平臺(tái)的研制.pdf
- 基于軟件的故障注入方法研究.pdf
- 植入式硬件故障注入的研究.pdf
- 基于故障注入的車載ATP系統(tǒng)測(cè)試設(shè)計(jì).pdf
- 云計(jì)算系統(tǒng)故障注入平臺(tái)的研究與設(shè)計(jì).pdf
- 基于故障模型的軟件故障注入方法研究.pdf
- 嵌入式畢業(yè)設(shè)計(jì)論文基于arm的嵌入式gui點(diǎn)菜系統(tǒng)
- 畢業(yè)設(shè)計(jì)(論文)+基于深度學(xué)習(xí)的calmcarnet在嵌入式平臺(tái)的應(yīng)用
- 面向虛擬化系統(tǒng)的故障注入平臺(tái)的研究與設(shè)計(jì).pdf
- 分布式系統(tǒng)的故障注入方法研究.pdf
- 基于FPGA的故障注入技術(shù)的研究.pdf
- 高頻電源故障檢測(cè)及嵌入式平臺(tái)設(shè)計(jì).pdf
- 探討基于jtag技術(shù)的嵌入式系統(tǒng)測(cè)試的各個(gè)階段
- 基于FPGA的故障注入系統(tǒng)研究.pdf
評(píng)論
0/150
提交評(píng)論