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