淺論嵌入式系統(tǒng)離線測(cè)試
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言 隨著嵌入式系統(tǒng)的發(fā)展,迫切需要在嵌入式系統(tǒng)開(kāi)發(fā)階段對(duì)嵌入式系統(tǒng)進(jìn)行離線測(cè)試與分析,以保證系統(tǒng)的軟件應(yīng)用程序、硬件具有兼容性、高可靠性和高可用性,迅速發(fā)現(xiàn)并準(zhǔn)確定位系統(tǒng)中存在的問(wèn)題。本文結(jié)合上海貝爾阿爾卡特股份有限公司開(kāi)發(fā)的寬帶交換系統(tǒng),討論離線單板硬件測(cè)試方法和系統(tǒng)測(cè)試方法?! ‰x線單板硬件測(cè)試概述 在寬帶交換機(jī)系統(tǒng)中,離線測(cè)試包括自檢測(cè)試和一般的離線測(cè)試。自檢測(cè)試是單板初始化完成后為了保證板子的正確運(yùn)轉(zhuǎn)進(jìn)行的測(cè)試。它主要包括看門(mén)狗測(cè)試、快速硬件器件測(cè)試和下載通路測(cè)試??焖儆布y(cè)試完成寄存器測(cè)試和單板上單個(gè)硬件設(shè)備測(cè)試,其中又包括許多測(cè)試項(xiàng)。如果某一測(cè)試項(xiàng)測(cè)試失敗,整個(gè)測(cè)試就會(huì)停止直到看門(mén)狗超時(shí)重啟系統(tǒng)。下載測(cè)試是為了保證軟件下載功能能正常工作而進(jìn)行的測(cè)試。這項(xiàng)測(cè)試主要完成通信接口收發(fā)數(shù)據(jù)測(cè)試、中斷功能測(cè)試。而一般的離線測(cè)試是在出廠檢驗(yàn)、開(kāi)發(fā)階段中的檢測(cè)和維修診斷時(shí)對(duì)上述的各測(cè)試項(xiàng)進(jìn)行更具體的測(cè)試,以定位單板上的出錯(cuò)位置?! 】撮T(mén)狗測(cè)試 在做任何一項(xiàng)硬件測(cè)試之前必須完成看門(mén)狗測(cè)試。這是因?yàn)橐豁?xiàng)硬件測(cè)試失敗之后需要重啟系統(tǒng),而硬件測(cè)試的失敗通常是以看門(mén)狗超時(shí)為判斷條件的。這就需要看門(mén)狗在硬件測(cè)試時(shí)能正常工作??撮T(mén)狗測(cè)試方法是設(shè)置并激活一個(gè)1秒的看門(mén)狗,等待1秒后系統(tǒng)重啟?! lash測(cè)試 在flash中可存放程序,也可以存放數(shù)據(jù)。在燒錄flash時(shí),可存放預(yù)先計(jì)算好的checksum值。要測(cè)試flash時(shí),程序重新計(jì)算checksum,然后與預(yù)先存放的值進(jìn)行比較?! ?shù)據(jù)flash的測(cè)試方法有兩種。一種是非破壞性的基本測(cè)試,主要是checksum測(cè)試。另一種是破壞性的擴(kuò)展測(cè)試,包括讀寫(xiě)測(cè)試和地址/數(shù)據(jù)總線測(cè)試,具體方法與內(nèi)存測(cè)試一致。基本測(cè)試可在系統(tǒng)自檢時(shí)使用,擴(kuò)展測(cè)試可在維修診斷時(shí)采用?! ?nèi)存測(cè)試 內(nèi)存測(cè)試可分為三類(lèi): 1. 數(shù)據(jù)總線測(cè)試: 將0001循環(huán)左移并寫(xiě)入內(nèi)存,然后讀出并比較測(cè)試?! ?. 內(nèi)存區(qū)測(cè)試: 對(duì)內(nèi)存所有存儲(chǔ)單元進(jìn)行讀寫(xiě)測(cè)試(讀寫(xiě)5555h和aaaah測(cè)試)?! ?. 地址總線測(cè)試:對(duì)內(nèi)存所有存儲(chǔ)單元進(jìn)行地址累加測(cè)試。從ram的基地址起,在每一個(gè)存儲(chǔ)單元(按照總線寬度)中寫(xiě)入不同的值(遞增值),地址遞增,直至所有的存儲(chǔ)單元都保存不同的內(nèi)容,然后讀出并進(jìn)行檢驗(yàn)?! 〉刂房偩€測(cè)試還可采用快速測(cè)試的方法:對(duì)0x1地址的內(nèi)存單元寫(xiě)入地址值0x1,地址值循環(huán)左移,依次將相應(yīng)的地址值寫(xiě)入相應(yīng)的內(nèi)存地址,最后檢驗(yàn)?! ≡诒疚牡南到y(tǒng)中,自檢測(cè)試時(shí)只包括內(nèi)存區(qū)測(cè)試。并且,由于測(cè)試時(shí)間的限制,只是隨機(jī)選擇內(nèi)存的一些頁(yè)面進(jìn)行讀寫(xiě)測(cè)試。對(duì)于其它的內(nèi)存測(cè)試方法,可以用于出廠檢驗(yàn)、開(kāi)發(fā)階段中的檢測(cè)和維修診斷?! ≈骺匦酒瑴y(cè)試 主控芯片測(cè)試主要是對(duì)主控芯片進(jìn)行定時(shí)器測(cè)試、寄存器測(cè)試、中斷測(cè)試和片內(nèi)ram測(cè)試。寄存器測(cè)試是對(duì)一些特殊寄存器的功能進(jìn)行測(cè)試,以驗(yàn)證cpu寄存器是否能正常工作。中斷測(cè)試是人為產(chǎn)生一些硬件中斷,檢測(cè)主控芯片對(duì)中斷的反應(yīng),是否能及時(shí)標(biāo)志中斷寄存器的相應(yīng)標(biāo)志位。片內(nèi)內(nèi)存測(cè)試則遵循一般內(nèi)存測(cè)試規(guī)則。 pld/fpga簡(jiǎn)單測(cè)試 在寬帶交換機(jī)系統(tǒng)中,較大的fpga常實(shí)現(xiàn)較復(fù)雜的功能。在測(cè)試時(shí)要對(duì)相關(guān)的功能進(jìn)行詳細(xì)的功能測(cè)試。而對(duì)于其它簡(jiǎn)單的小型pld/fpga則尋求自測(cè)的方法,在pld或fpga的編制過(guò)程中,適當(dāng)?shù)募尤胍恍┳詼y(cè)手段。當(dāng)主控芯片要測(cè)試它們時(shí),設(shè)置和讀取相應(yīng)的pld或fpga的測(cè)試接口,從而獲得測(cè)試結(jié)果?! ci總線測(cè)試 pci總線常用于連接處理器和各類(lèi)外設(shè)。它提供了一個(gè)低時(shí)延路徑,使處理器能夠直接存取任何映射在存儲(chǔ)器或i/o地址空間的pci設(shè)備。它還提供一個(gè)高帶寬路徑,允許pci主設(shè)備直接到主存儲(chǔ)器存取。測(cè)試方法是先測(cè)試是否能正確讀寫(xiě)pci配置空間寄存器,然后測(cè)試內(nèi)存映射是否可以在兩端正確讀寫(xiě)?! ∏度胧较到y(tǒng)離線測(cè)試方法 增量測(cè)試模型 在單板測(cè)試完成后,系統(tǒng)集成在一起之后有可能仍不能正常工作。主要原因是,模塊相互調(diào)用時(shí)接口會(huì)引入許多新問(wèn)題。例如,數(shù)據(jù)經(jīng)過(guò)接口可能丟失;一個(gè)模塊對(duì)另一模塊可能造成不應(yīng)有的影響;模塊之間的硬件連接不正確也可能造成通信不暢;誤差不斷積累達(dá)到不可接受的程度等等。所以需要通過(guò)綜合測(cè)試來(lái)發(fā)現(xiàn)各種錯(cuò)誤?! ∪绻阉心K按設(shè)計(jì)要求一次全部組裝起來(lái),然后直接運(yùn)行系統(tǒng)軟件,這稱(chēng)為非增量式集成。這種方法易出現(xiàn)混亂,在改正一個(gè)錯(cuò)誤時(shí)又可能引入新的錯(cuò)誤,新舊錯(cuò)誤混雜,更難斷定出錯(cuò)的原因和位置。增量式集成方法通過(guò)測(cè)試軟