軟件測試中嵌入式系統離線測試方法
引言
隨著嵌入式系統的發展,迫切需要在嵌入式系統開發階段對嵌入式系統進行離線測試與分析,以保證系統的軟件應用程序、硬件具有兼容性、高可靠性和高可用性,迅速發現并準確定位系統中存在的問題。本文結合上海貝爾阿爾卡特股份有限公司開發的寬帶交換系統,討論離線單板硬件測試方法和系統測試方法。
離線單板硬件測試概述
在寬帶交換機系統中,離線測試包括自檢測試和一般的離線測試。自檢測試是單板初始化完成后為了保證板子的正確運轉進行的測試。它主要包括看門狗測試、快速硬件器件測試和下載通路測試?焖儆布䴗y試完成寄存器測試和單板上單個硬件設備測試,其中又包括許多測試項。如果某一測試項測試失敗,整個測試就會停止直到看門狗超時重啟系統。下載測試是為了保證軟件下載功能能正常工作而進行的測試。這項測試主要完成通信接口收發數據測試、中斷功能測試。而一般的離線測試是在出廠檢驗、開發階段中的檢測和維修診斷時對上述的各測試項進行更具體的測試,以定位單板上的出錯位置。
看門狗測試
在做任何一項硬件測試之前必須完成看門狗測試。這是因為一項硬件測試失敗之后需要重啟系統,而硬件測試的失敗通常是以看門狗超時為判斷條件的。這就需要看門狗在硬件測試時能正常工作?撮T狗測試方法是設置并激活一個1秒的看門狗,等待1秒后系統重啟。
Flash測試
在Flash中可存放程序,也可以存放數據。在燒錄Flash時,可存放預先計算好的checksum值。要測試Flash時,程序重新計算checksum,然后與預先存放的值進行比較。
數據Flash的測試方法有兩種。一種是非破壞性的基本測試,主要是checksum測試。另一種是破壞性的擴展測試,包括讀寫測試和地址/數據總線測試,具體方法與內存測試一致;緶y試可在系統自檢時使用,擴展測試可在維修診斷時采用。
內存測試
內存測試可分為三類:
1. 數據總線測試: 將0001循環左移并寫入內存,然后讀出并比較測試。
2. 內存區測試: 對內存所有存儲單元進行讀寫測試(讀寫5555H和AAAAH測試)。
3. 地址總線測試:對內存所有存儲單元進行地址累加測試。從RAM的基地址起,在每一個存儲單元(按照總線寬度)中寫入不同的值(遞增值),地址遞增,直至所有的存儲單元都保存不同的內容,然后讀出并進行檢驗。
地址總線測試還可采用快速測試的方法:對0x1地址的內存單元寫入地址值0x1,地址值循環左移,依次將相應的地址值寫入相應的內存地址,最后檢驗。
在本文的系統中,自檢測試時只包括內存區測試。并且,由于測試時間的限制,只是隨機選擇內存的一些頁面進行讀寫測試。對于其它的內存測試方法,可以用于出廠檢驗、開發階段中的檢測和維修診斷。
主控芯片測試
主控芯片測試主要是對主控芯片進行定時器測試、寄存器測試、中斷測試和片內RAM測試。寄存器測試是對一些特殊寄存器的功能進行測試,以驗證CPU寄存器是否能正常工作。中斷測試是人為產生一些硬件中斷,檢測主控芯片對中斷的反應,是否能及時標志中斷寄存器的相應標志位。片內內存測試則遵循一般內存測試規則。
PLD/FPGA簡單測試
在寬帶交換機系統中,較大的FPGA常實現較復雜的功能。在測試時要對相關的功能進行詳細的功能測試。而對于其它簡單的小型PLD/FPGA則尋求自測的方法,在PLD或FPGA的編制過程中,適當的加入一些自測手段。當主控芯片要測試它們時,設置和讀取相應的PLD或FPGA的測試接口,從而獲得測試結果。
PCI總線測試
PCI總線常用于連接處理器和各類外設。它提供了一個低時延路徑,使處理器能夠直接存取任何映射在存儲器或I/O地址空間的PCI設備。它還提供一個高帶寬路徑,允許PCI主設備直接到主存儲器存取。測試方法是先測試是否能正確讀寫PCI配置空間寄存器,然后測試內存映射是否可以在兩端正確讀寫。
嵌入式系統離線測試方法
文章來源于領測軟件測試網 http://www.kjueaiud.com/