基于網(wǎng)絡(luò)加載的嵌入式BootLoader的設(shè)計與實現(xiàn)
該方案的執(zhí)行邏輯可以用圖2所示。本文引用地址:http://www.ex-cimer.com/article/148141.htm
2 基于網(wǎng)絡(luò)加載的BootLoader的應(yīng)用實現(xiàn)
本文設(shè)計的基于網(wǎng)絡(luò)加載的嵌入式BootLoader應(yīng)用于DVB-C電視機(jī)頂盒產(chǎn)品中,在DVB-C機(jī)頂盒中,一般有網(wǎng)口用于與內(nèi)容服務(wù)器進(jìn)行交互,如VOD及網(wǎng)頁瀏覽器等功能。其硬件框圖組成如圖3所示。
該DVB-C電視機(jī)頂盒中,CPU是Sunplus公司生產(chǎn)的32位雙核RISC微控制器SPH1003。此外,系統(tǒng)還集成有Semsung公司的Tuner,其功能是從cable中調(diào)制出TS流,其內(nèi)容為電視節(jié)目流及電視節(jié)目輔助信息(如EPG,電視圖文信息)等。通過電視機(jī)頂盒的集成網(wǎng)口可以實現(xiàn)電視機(jī)頂盒軟件(主要是嵌入式Linux內(nèi)核,根文件系統(tǒng)及應(yīng)用程序三個部分)的下載與啟動。
在該DVB—C機(jī)頂盒中,BootLoader的裝載程序主要是實現(xiàn)從網(wǎng)絡(luò)下載嵌入式Linux內(nèi)核并且啟動系統(tǒng)。在由BootLoader完成系統(tǒng)的硬件初始化后,程序?qū)D(zhuǎn)到網(wǎng)絡(luò)Loader程序中,由它驅(qū)動網(wǎng)卡,并啟動tftp請求,從網(wǎng)絡(luò)服務(wù)器端通過tftp協(xié)議下載指定文件,并運行起來,其軟件運行如1.3部分。這種應(yīng)用可以有效在利用機(jī)盒中的網(wǎng)卡網(wǎng)絡(luò)結(jié)構(gòu),從而降低機(jī)頂盒的整體成本(少去flash/ROM芯片及其周邊控制硬件等),同時也有利于及時更新應(yīng)用程序及嵌入式內(nèi)核等,實現(xiàn)機(jī)頂盒瘦客戶端目的和及時維護(hù)功能。
3 BootLoader引導(dǎo)裝載過程的測試與分析
3.1 測試用例設(shè)計
在DVB-C機(jī)頂盒引導(dǎo)裝載過程的測試中,主要包括單元測試與集成測試兩個方面。因此在設(shè)計測試用倒時,主要有單元測試用例及集成測試用例。其測試用例設(shè)計如表1、表2所示。
3.2 測試結(jié)果分析
根據(jù)上表測試用例的設(shè)計,分析結(jié)果如下:
1)在單元測試中,根據(jù)每個函數(shù)的功能及測試結(jié)果要求,分別進(jìn)行代碼覆蓋率的測試、參數(shù)邊界值測試及函數(shù)運行結(jié)果的測試,其測試結(jié)果全都能達(dá)到程序要求;
2)在集成測試中,對網(wǎng)絡(luò)環(huán)境的測試主要集中在:正常的網(wǎng)絡(luò)環(huán)境,運行不正常的網(wǎng)絡(luò)環(huán)境兩方面,程序?qū)@兩種情況能夠正確地識別且做出不同的響應(yīng);對不同的目標(biāo)文件進(jìn)行了下載測試,分別比較原文件與下載到SDRAM的內(nèi)容,兩者完全一致,且在多次下載測試中成功率達(dá)到100%;對DVB-C機(jī)頂盒的啟動過程及時間進(jìn)行了專項測試,這項測試是BootLoader引導(dǎo)裝載程序最重要的性能測試,其啟動過程的成功率達(dá)到100%,啟動時間大致為1 s。
4 結(jié)束語
文中介紹的基于網(wǎng)絡(luò)加載的BootLoader整套設(shè)計與解決方案,具有良好的模塊結(jié)構(gòu)和可擴(kuò)展性,為應(yīng)用于其它系統(tǒng)奠定了基礎(chǔ)。同時,在實際產(chǎn)品設(shè)計中已大量應(yīng)用在DVB-C機(jī)頂盒中,該DVB-C機(jī)頂盒與一般機(jī)頂盒相比,節(jié)省20元左右,在批量生產(chǎn)中(十萬臺左右),可實現(xiàn)上百萬元的經(jīng)濟(jì)效益,因此該方案具有很強(qiáng)的市場競爭力。
評論