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