淺論嵌入式系統離線(xiàn)測試
引言
隨著(zhù)嵌入式系統的發(fā)展,迫切需要在嵌入式系統開(kāi)發(fā)階段對嵌入式系統進(jìn)行離線(xiàn)測試與分析,以保證系統的軟件應用程序、硬件具有兼容性、高可靠性和高可用性,迅速發(fā)現并準確定位系統中存在的問(wèn)題。本文結合上海貝爾阿爾卡特股份有限公司開(kāi)發(fā)的寬帶交換系統,討論離線(xiàn)單板硬件測試方法和系統測試方法。
離線(xiàn)單板硬件測試概述
在寬帶交換機系統中,離線(xiàn)測試包括自檢測試和一般的離線(xiàn)測試。自檢測試是單板初始化完成后為了保證板子的正確運轉進(jìn)行的測試。它主要包括看門(mén)狗測試、快速硬件器件測試和下載通路測試??焖儆布y試完成寄存器測試和單板上單個(gè)硬件設備測試,其中又包括許多測試項。如果某一測試項測試失敗,整個(gè)測試就會(huì )停止直到看門(mén)狗超時(shí)重啟系統。下載測試是為了保證軟件下載功能能正常工作而進(jìn)行的測試。這項測試主要完成通信接口收發(fā)數據測試、中斷功能測試。而一般的離線(xiàn)測試是在出廠(chǎng)檢驗、開(kāi)發(fā)階段中的檢測和維修診斷時(shí)對上述的各測試項進(jìn)行更具體的測試,以定位單板上的出錯位置。
看門(mén)狗測試
在做任何一項硬件測試之前必須完成看門(mén)狗測試。這是因為一項硬件測試失敗之后需要重啟系統,而硬件測試的失敗通常是以看門(mén)狗超時(shí)為判斷條件的。這就需要看門(mén)狗在硬件測試時(shí)能正常工作??撮T(mén)狗測試方法是設置并激活一個(gè)1秒的看門(mén)狗,等待1秒后系統重啟。
Flash測試
在Flash中可存放程序,也可以存放數據。在燒錄Flash時(shí),可存放預先計算好的checksum值。要測試Flash時(shí),程序重新計算checksum,然后與預先存放的值進(jìn)行比較。
數據Flash的測試方法有兩種。一種是非破壞性的基本測試,主要是checksum測試。另一種是破壞性的擴展測試,包括讀寫(xiě)測試和地址/數據總線(xiàn)測試,具體方法與內存測試一致?;緶y試可在系統自檢時(shí)使用,擴展測試可在維修診斷時(shí)采用。
內存測試
內存測試可分為三類(lèi):
1. 數據總線(xiàn)測試: 將0001循環(huán)左移并寫(xiě)入內存,然后讀出并比較測試。
2. 內存區測試: 對內存所有存儲單元進(jìn)行讀寫(xiě)測試(讀寫(xiě)5555H和AAAAH測試)。
3. 地址總線(xiàn)測試:對內存所有存儲單元進(jìn)行地址累加測試。從RAM的基地址起,在每一個(gè)存儲單元(按照總線(xiàn)寬度)中寫(xiě)入不同的值(遞增值),地址遞增,直至所有的存儲單元都保存不同的內容,然后讀出并進(jìn)行檢驗。
地址總線(xiàn)測試還可采用快速測試的方法:對0x1地址的內存單元寫(xiě)入地址值0x1,地址值循環(huán)左移,依次將相應的地址值寫(xiě)入相應的內存地址,最后檢驗。
在本文的系統中,自檢測試時(shí)只包括內存區測試。并且,由于測試時(shí)間的限制,只是隨機選擇內存的一些頁(yè)面進(jìn)行讀寫(xiě)測試。對于其它的內存測試方法,可以用于出廠(chǎng)檢驗、開(kāi)發(fā)階段中的檢測和維修診斷。
主控芯片測試
主控芯片測試主要是對主控芯片進(jìn)行定時(shí)器測試、寄存器測試、中斷測試和片內RAM測試。寄存器測試是對一些特殊寄存器的功能進(jìn)行測試,以驗證CPU寄存器是否能正常工作。中斷測試是人為產(chǎn)生一些硬件中斷,檢測主控芯片對中斷的反應,是否能及時(shí)標志中斷寄存器的相應標志位。片內內存測試則遵循一般內存測試規則。
PLD/FPGA簡(jiǎn)單測試
在寬帶交換機系統中,較大的FPGA常實(shí)現較復雜的功能。在測試時(shí)要對相關(guān)的功能進(jìn)行詳細的功能測試。而對于其它簡(jiǎn)單的小型PLD/FPGA則尋求自測的方法,在PLD或FPGA的編制過(guò)程中,適當的加入一些自測手段。當主控芯片要測試它們時(shí),設置和讀取相應的PLD或FPGA的測試接口,從而獲得測試結果。
PCI總線(xiàn)測試
PCI總線(xiàn)常用于連接處理器和各類(lèi)外設。它提供了一個(gè)低時(shí)延路徑,使處理器能夠直接存取任何映射在存儲器或I/O地址空間的PCI設備。它還提供一個(gè)高帶寬路徑,允許PCI主設備直接到主存儲器存取。測試方法是先測試是否能正確讀寫(xiě)PCI配置空間寄存器,然后測試內存映射是否可以在兩端正確讀寫(xiě)。
嵌入式系統離線(xiàn)測試方法
增量測試模型
在單板測試完成后,系統集成在一起之后有可能仍不能正常工作。主要原因是,模塊相互調用時(shí)接口會(huì )引入許多新問(wèn)題。例如,數據經(jīng)過(guò)接口可能丟失;一個(gè)模塊對另一模塊可能造成不應有的影響;模塊之間的硬件連接不正確也可能造成通信不暢;誤差不斷積累達到不可接受的程度等等。所以需要通過(guò)綜合測試來(lái)發(fā)現各種錯誤。
如果把所有模塊按設計要求一次全部組裝起來(lái),然后直接運行系統軟件,這稱(chēng)為非增量式集成。這種方法易出現混亂,在改正一個(gè)錯誤時(shí)又可能引入新的錯誤,新舊錯誤混雜,更難斷定出錯的原因和位置。增量式集成方法通過(guò)測試軟件一段一段地擴展,測試的范圍一步一步地增大,來(lái)逐步定位錯誤和糾正。根據系統的不同特點(diǎn)可以采用兩種增量式集成模型:自底向上集成和自頂向下集成。
寬帶機架系統由主控板和其它單板組成,離線(xiàn)系統測試軟件采用自頂向下集成的方法。由主控板將各個(gè)單板的系統測試程序通過(guò)網(wǎng)絡(luò )下載到目的板,然后主控板通過(guò)深度優(yōu)先策略搜索單板。首先主控板發(fā)送消息到直連的單板,如果主控板、單板之間連線(xiàn)正確,且單板硬件及軟件工作正常,單板收到消息后將自己的相關(guān)信息返回給主控板。接著(zhù)主控板再通過(guò)直連的單板獲取下層單板的相關(guān)信息,直到獲得所有單板的相關(guān)信息(位置,單板類(lèi)型等),然后就可以開(kāi)始整個(gè)系統的綜合測試。
綜合測試方法
目前大型的嵌入式系統大部分是分布式處理系統,由多個(gè)模塊協(xié)同工作完成復雜的功能,模塊之間通過(guò)網(wǎng)絡(luò )互聯(lián)。一般將整個(gè)系統分成3個(gè)不同的層次:設備層、系統層和應用層。針對這3個(gè)層次,系統的離線(xiàn)綜合測試可以通過(guò)互通性測試、功能測試和性能測試來(lái)進(jìn)行。
互通性測試
互通性測試包括物理連通性和一致性的測試,確保系統中的各模塊之間進(jìn)行互聯(lián)時(shí)不會(huì )出現問(wèn)題。物理連通性和一致性的測試是最基本的網(wǎng)絡(luò )系統測試內容,其中主要是線(xiàn)纜測試, 用以查明所測線(xiàn)纜及布線(xiàn)是否符合設計要求和國際標準。在寬帶交換機系統中,互通性測試由主控板按照網(wǎng)絡(luò )連接的層次,依次發(fā)送消息給各塊PBA單板,等待它們的回復。如果主控板能在規定時(shí)間內收到回復,說(shuō)明從主控板到該單板的網(wǎng)絡(luò )連線(xiàn)正確。同時(shí),主控板從PBA的回復中也獲取了有關(guān)單板的相關(guān)信息,為下一步的功能測試和性能測試奠定了基礎。
功能測試
在整個(gè)系統內部的互通性測試完成之后,接著(zhù)要進(jìn)行功能測試,目的是檢驗設備能否完成它應該具備的功能。設備不同,其所要進(jìn)行的功能測試也相應變化。如果單板硬件工作沒(méi)有異常,再由主控板啟動(dòng)單板,執行其所具有的特定功能。
性能測試
完成系統設備測試和網(wǎng)絡(luò )互通性測試之后就可以在系統上加載各種應用。性能測試是綜合測試中最高層次的測試內容,主要測試系統對應用的支持水平。性能測試有不同的分類(lèi)方法。在寬帶交換機系統中采用了仿真的方法,在實(shí)際的機架環(huán)境中,由測試集中的第一塊單板主動(dòng)發(fā)送數據包,進(jìn)行環(huán)回測試,主要進(jìn)行的是數據鏈路層的測試,包括流量分析、錯誤數據統計等。
結語(yǔ)
以上介紹了寬帶交換機系統中實(shí)現單板硬件測試的一些方法和系統離線(xiàn)集成測試模型。在具體的開(kāi)發(fā)中,用這些測試在設計階段盡早地檢查出了設計方面的問(wèn)題。在維護階段,這些測試有效地定位了現場(chǎng)發(fā)現的問(wèn)題。這些測試對寬帶交換機系統的可靠性起到了非常重要的作用,保證了系統在現場(chǎng)安全穩定的工作。
參考文獻
1 PCI Local Bus Specification Revision 2.2 December 18, 1998 Copyright 1992, 1993, 1995, 1998 PCI Special Interest Group
2 VxWorks Programmer’s Guide 5.4 Edition 1 Copyright 1984 -1999 Wind River Systems, Inc.
3 MPC860 PowerQUICCTM User’s Manual Motorola Inc. 1998
評論