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