修惠文
(1.研祥智能科技股份有限公司,廣東 深圳,518057;2.國家特種計算機工程技術(shù)研究中心,廣東 深圳,518057)
一種板載X86測試系統(tǒng)研究
修惠文1,2
(1.研祥智能科技股份有限公司,廣東 深圳,518057;2.國家特種計算機工程技術(shù)研究中心,廣東 深圳,518057)
在工業(yè)現(xiàn)場應用環(huán)境中,對專用計算機設備的抗震性、穩(wěn)定性、可維護性性,可測試性等要求頗高,因此計算機設備的測試自診斷是工業(yè)計算控制設備不可或缺的功能。本文提出一種基于X86架構(gòu)的固件基礎技術(shù),及DOS操作系統(tǒng)實現(xiàn)的板載X86測試系統(tǒng)的方法,用以提高改善工業(yè)現(xiàn)場計算機設備的可測性以及穩(wěn)定性。實驗證明本文提出的板載X86測試系統(tǒng)可用做計算機主板、硬盤、內(nèi)存功能等檢測,實現(xiàn)硬件穩(wěn)定性拷機、診斷、問題定位等功能。亦可與系統(tǒng)交互,提供網(wǎng)絡測試報告,滿足工業(yè)現(xiàn)場快速診斷使用的需求。
固件;X86測試;自診斷
隨著工業(yè)自動化的快速發(fā)展,以及X86硬件平臺的推廣與普及,基于X86架構(gòu)[1]的計算設備應用到特殊行業(yè)領域逐漸增多,為保障這類特種計算機設備能夠提供安全可靠穩(wěn)定的服務,需要構(gòu)建一套完整的,便捷的,可擴展的測試診斷系統(tǒng),以提高特種計算機設備的可測性、穩(wěn)定性等重要指標。
目前,計算機設備的測試方法已經(jīng)很多且較全面,多數(shù)需要第三方專業(yè)軟件,有時還需搭配測試治具一起使用。但此類測試方法操作較為復雜,不適合在工作現(xiàn)場進行診斷檢測,且此類測試沒有針對專用領域的關注點,如開關機穩(wěn)定性驗證等。
DOS操作系統(tǒng),伴隨著個人電腦發(fā)展至今已經(jīng)經(jīng)歷了30多年,其系統(tǒng)架構(gòu)的特性,使得對硬件操作極其方便快捷,且具備很強的兼容性,方便做寄存器級操作,因此頗受底層軟件開發(fā)親來。尤其是對硬件測試方面,比其他操作系統(tǒng)更直觀簡便,因此很多專業(yè)PC主板廠商測試檢測都是基于DOS系統(tǒng)實現(xiàn)的。
在X86平臺中,固件BIOS(現(xiàn)在二代BIOS也稱作UEFI BIOS[1])是不可缺少的重要組成部分,隨著技術(shù)的發(fā)展,BIOS的載體也由原來的FWH逐漸過渡到SPI Flash[2],固件載體的容量也在成倍地增長,從256KB到512KB到1M,2M,甚至32MB的Flash?!白銐虼蟮娜萘俊睘槲覀兲峁┝烁鞣N擴展功能的可能。固件虛擬磁盤就是一例。本文將主要介紹基于固件虛擬磁盤,和DOS[3]操作系統(tǒng)技術(shù),實現(xiàn)X86板載測試系統(tǒng),便于特種計算機設備實現(xiàn)板載自檢功能,提升系統(tǒng)穩(wěn)定性。
為實現(xiàn)板載X86測試系統(tǒng),需要利用主板BIOS固件和DOS系統(tǒng)啟動菜單配置的幾項基礎技術(shù),分別是固件虛擬磁盤、DOS啟動界面配置、DOS漢化等。
1.1 固件虛擬磁盤
固件虛擬磁盤是在BIOS Flash中預留一段連續(xù)空間作為存儲媒介,并通過板載PCI設備的Option ROM 提供虛擬磁盤[4,5]的初始化及安裝讀寫中斷服務接口來實現(xiàn)的。其特點是磁盤固化在主板BIOS Flash芯片中,支持內(nèi)存鏡像訪問操作,數(shù)據(jù)不易丟失或篡改,可以按指定操作固化保存虛擬磁盤內(nèi)容。操作系統(tǒng)下,可以通過固件虛擬磁盤驅(qū)動來進行訪問讀寫操作。如圖1所示,主板上的BIOS Flash芯片中,燒錄的BIOS可執(zhí)行代碼,即BIOS固件,在BIOS固件中,通過RomHole等技術(shù)預留的空間作為固件虛擬磁盤在此虛擬磁盤中,可以預制FreeDOS系統(tǒng),在基于FreeDOS系統(tǒng)上放入板載測試系統(tǒng),設置成自動運行,這樣在系統(tǒng)啟動后,可以通過固件虛擬磁盤引導,然后可以自動運行板載測試系統(tǒng)。
1.2 DOS啟動配置文件
DOS系統(tǒng)應用中可以通過DOS啟動配置文件config.sys實現(xiàn)多菜單選項,但多為相對簡單的選擇項,無法實現(xiàn)多選、復選、選擇組、選項關聯(lián)控制等功能,而板載X86測試系統(tǒng),目標是簡化測試,方便用戶自由配置,因此上述的菜單功能需要其他工具實現(xiàn),目前DOS下實現(xiàn)啟動菜單較為流行的第三方啟動配置工具有ConfigP,confect,ConMenu等,本文采用ConfigP實現(xiàn)測試系統(tǒng)配置選擇菜單界面,如圖2所示。
系統(tǒng)配置菜單分為7部分
(1)主菜單選項
用于配置測試全局模式和功能
①AUTOTEST,即自動測試功能,基于原來的測試步驟繼續(xù)進行測試。
②NEWTEST,即全新測試,開始全新的自動化測試選項。
③VIEWRESULT,即查看測試結(jié)果。
④UNSTALL,卸載測試,不跑本測試配置界面。
(2)功能測試選項
各項測試功能選擇,PCHECK,GPIO,VTBIOS,WDT,HWMONITOR,MEMORY,HDD DISK,QTPRO測試。
圖1 主板固件虛擬磁盤及板載測試系統(tǒng)Fig. 1 The mainboard firmware virtual disk and on-board test system
(3)開機測試選項
RTC開關機測試,測試次數(shù)設置
Reboot測試,測試次數(shù)設置
POWERON測試,測試次數(shù)設置
POWEROFF測試,測試次數(shù)設置
(4)考機測試選擇
考機測試軟件選擇
a. STRESS b. MEMTEST86+
(5)BYPASS
BYPASS測試選項,BYPASSC當前測試BYPASSR重啟測試 BYPASSW寫測試
(6)REPORT記錄形式
①COM通過串口
②USB通過USB盤記錄
③EDISK通過記錄到EDISK中
(7)電源選擇
①ATX電源
②AT電源
1.3 測試系統(tǒng)功能模塊
板載X86測試系統(tǒng),需要包括如下測試模塊CPU,內(nèi)存,硬盤,Cache,PCI Bus,KBC Controller,CMOS,RTC,Video,Reboot,開關機模塊,串口,并口,Beep,Lan Controller等。各測試功能模塊可以根據(jù)實際情況選擇已有成熟的測試軟件或自行開發(fā),本文目前采用的是PC-Check7.06與自行開發(fā)的Reboot、GPIO等軟件相結(jié)合組成的測試系統(tǒng)。參考圖3,相關測試模塊。
板載X86測試系統(tǒng)[6],是在固件虛擬磁盤上安裝DOS(FreeDOS)系統(tǒng),并將各測試模塊及DOS啟動菜單配置工具一同存儲到固件虛擬磁盤上,并通過DOS批處理腳本將DOS啟動菜單與各測試模塊關聯(lián),并予以特定的測試流程實現(xiàn)全自動診斷測試功能,參考圖3。具體測試流程如下:
1)主板啟動,BIOS通過虛擬磁盤引導進入板載測試系統(tǒng);
2)判斷是否為首次啟動測試系統(tǒng),若是,執(zhí)行3);否則執(zhí)行7);
3)啟動當前單元測試模塊,記錄并發(fā)送當前測試狀態(tài);其中包括圖3所示的各單元模塊;
圖2 ConfigP實現(xiàn)測試系統(tǒng)啟動配置界面Fig. 2 ConfigP implementation of the test system to start the configuration interface
圖3 板載測試系統(tǒng)流程及相應測試單元模塊Fig. 3 The test system of the board and the corresponding test unit module
4)更新測試狀態(tài);
5)判斷單元測試是否完畢,若是,執(zhí)行6);否則執(zhí)行3);
6)記錄單元測試報告;
7)檢測當前測試狀態(tài);
8)判斷是否全部測試完畢,若是,執(zhí)行9);否則執(zhí)行3);
9)結(jié)束板載測試,根據(jù)配置設置確定是否運行Memtest拷機程式,顯示最終測試報告。
本文設計的板載測試系統(tǒng),可以在無任何存儲設備的情況下對主板做全功能及穩(wěn)定性的測試驗證,確保提供更安全可靠的特種計算設備,由于其獨特的板載特性,可以保障測試環(huán)境不被破壞,方便及時驗證測試維護,為節(jié)約成本,提供系統(tǒng)的可測性,提供了良好的解決方案。并可以在此基礎上通過對配置解決的設置進行測試功能刪減,或增加客戶連接的專屬設備檢查程式,以便實現(xiàn)測試自檢擴展功能。
通過本文描述的測試平臺整合,良好地解決測試方法操作較為復雜的情況,解決在工作現(xiàn)場進行診斷檢測的需求,且此方法的測試方案是針對工控專用領域,尤其是針對開關機穩(wěn)定性驗證等。
鑒于DOS操作系統(tǒng)比其他操作系統(tǒng)更直觀簡便,開機進入系統(tǒng)速度快,可以快速啟動測試程序,本文采用固件虛擬磁盤實現(xiàn)X86板載測試系統(tǒng),便于特種計算機設備實現(xiàn)板載自檢功能,提升系統(tǒng)穩(wěn)定性。通過對比不同測試方案驗證主板測試程序,本文提供的測試方法可以大大減少人為干預的動作,提升測試效率30%,為加快驗證問題,復現(xiàn)機率性問題提供了良好的解決方案。
本文提出一種基于X86架構(gòu)的固件基礎技術(shù),及DOS操作系統(tǒng)實現(xiàn)的板載X86測試系統(tǒng)的方法,用以提高改善工業(yè)現(xiàn)場計算機設備的可測性以及穩(wěn)定性。實驗證明本文提出的板載X86測試系統(tǒng)可用做計算機主板、硬盤、內(nèi)存功能等檢測,實現(xiàn)硬件穩(wěn)定性拷機、診斷、問題定位等功能。較好地解決測試方法操作較為復雜的情況,解決在工作現(xiàn)場進行診斷檢測的需求,且此方法的測試方案是針對工控專用領域,尤其是針對開關機穩(wěn)定性驗證等。
[1] 董耀祖,周正偉. 基于 X86 架構(gòu)的系統(tǒng)虛擬機技術(shù)與應用[J]. 計算機工程,2006,32(13):71-73.
DONG Yao-zu,ZHOU Zheng-wei. X86-based System Virtual Machine Development and Application[J]. Computer Engineering,2006,32(13):71-73.
[2] 陳世利. SPI串行Flash在數(shù)據(jù)存儲系統(tǒng)中的應用[J].電子設計工程,2001.
CHEN Shi-Li,The Application of SPI Serial Flash on DATA Storage System. Electronic Design Engineering,2001.
[3] 劉育剛.DOS原理與結(jié)構(gòu)[M].哈爾濱工業(yè)大學出版社,1997.
LIU Yu-gang,DOS principle and structure. Haerbin Industry University press,1997.
[4] 劉旺,王洪波,程時端. 基于 Xen PVHVM 虛擬塊設備的數(shù)據(jù)追蹤及測試[J]. 新型工業(yè)化,2012,2(12):19-23.
LIU Wang,WANG Hong-bo,CHRNG Shi-duan. Data Tracking and Test of Virtual Block Device on Xen PVHVM[J]. The Journal of New Industrialization,2012,2(12):19-23.
[5] 汪中夏,韓勁松,李晨東. 基于虛擬磁盤技術(shù)的硬盤固件區(qū)訪問方法[J]. 計算機應用,2012,32(S2):104-106.
WANG Zhong-xia,HAN Jin-song,LI Chen-dong. Access Method of Hard Disk System Area Based on Virtual Disk Technology[J]. Journal of Computer Applications,2012,32(S2):104-106.
[6] 張寓琛,張小芳. x86 服務器虛擬化平臺性能測試[J]. 計算機與現(xiàn)代化,2014(2):32-35,40.
ZHANG Yu-chen,ZHANG Xiao-fang. Performance Test of x86-based Server Virtualization Platform[J]. Computer and Modernization,2014(2):32-35,40.
Research of an Onboard X86 Test System
XIU Hui-wen1,2
(1.EVOC Intelligent technology co., LTD, Shenzhen, Guangdong 518057, China; 2.National Special Computer Engineering Technology Research Center, Shenzhen, Guangdong 518057, China)
Special computer equipments are required to have high vibration resistance, high stability, maintainability and high testability in industrial field application environment. Therefore self-diagnosis of computer equipments is indispensable to industrial computing control equipment. This paper presents a firmware-based technology based on X86 and a method of onboard X86 test system realized in DOS Operating system, in order to improve the testability and stability of the industrial field of computer equipment. The result shows that the test system is used to detect motherboard, hard disk and memory function, in order to realize hardware stability pagers, diagnostics, positioning problem. At the same time, it can interact with the system,provide network test report and meet the needs of rapid diagnostic in the industrial field.
Firmware; X86 test; Self-diagnosis
10.19335/j.cnki.2095-6649.2016.09.015
XIU Hui-wen. Research of an Onboard X86 Test System[J]. The Journal of New Industrialization, 2016,6(9): 87-90.
修惠文(1982-),男,碩士學位,研祥智能股份有限公司研發(fā)中心BIOS工程師。研究方向為:工控機底層固件開發(fā)與設計