日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于網絡加載的嵌入式BootLoader的設計與實現(xiàn)

摘要:由于嵌入式系統(tǒng)引導裝載程序(BootLoader)的網絡加載方式在產品開發(fā)初期階段的廣泛應用,因此基于網絡的BootLoader設計與實現(xiàn)具有較強的實際意義。提出了基于網絡加載的BootLoader整套設計與解決方案,并將該方案應用到實際產品DVB—C中。最后,通過BootLoad er引導裝載過程的測試與分析,驗證該方案的可行性與高效性。
關鍵詞:嵌入式系統(tǒng);BootLoader;網絡;DVB—C機頂盒

    嵌入式系統(tǒng)從軟件結構層次的角度來看,一般由引導裝載程序(BootLoader,BSP)、操作系統(tǒng)和應用程序幾部分組成。然而在有的嵌入式系統(tǒng)中,操作系統(tǒng)和應用程序存放在系統(tǒng)以外的設備中,如網絡、硬盤等,整個系統(tǒng)只有引導裝載程序。因此BootLoader是嵌入式系統(tǒng)設計中比較重要的一部分。
    在嵌入式系統(tǒng)的引導中,按照應用程序存放位置,可以有3種不同的加載方式:固態(tài)存儲媒體、磁盤以及網絡,每種方式都會有自己特有的配置和用法。3種設置方式各有其優(yōu)缺點,固態(tài)儲存媒體啟動方式一般適用于帶有ROM/FLASH的嵌入式系統(tǒng)中,是大多數嵌入式設備的首選方案如手機,mp3等,但當應用程序較大的情況下,為了降低嵌入式設備的單價,磁盤啟動方式也被大量使用,典型應用如SDH電信傳輸網絡設備測試儀ANT-20等,而基于網絡加載方式則是最便宜的嵌入式設備的應用方案,應用程序存放在網絡服務器端,嵌入式設備啟動時,只需要將它通過網絡當到內存并運行,一方面可以快速解決應用程序升級問題,另一方面也可以降低嵌入設備的整體成本,且在開發(fā)初期這種方式也能大幅提高調試速度,典型的應用如嵌入式設備的瘦客戶端。

1 基于網絡加載的BootLoader方案設計
    
這種方案重點解決兩個問題,一是嵌入式設備加電后啟動前與服務器端之間的通信與聯(lián)系,二是嵌入設備在啟動過程中應用程序下載方式的實現(xiàn)。前者需要將嵌入式設備驅動起來,實現(xiàn)通信能力,網卡驅動是必須實現(xiàn)的步驟,后者需要通過相關的協(xié)議棧將應用程序下載到系統(tǒng)內存,運行起來。本文重點介始基于UDP/IP協(xié)議棧的(DHCP、TFIP、NFS)加載方案設計。
1.1 BooiLoader中網卡驅動的設計
    
網絡適配器(網卡)一般由可編程數據鏈路控制器、曼徹斯特編碼/譯碼器、收發(fā)器接口和控制電路等幾部分組成,其中可編程數據鏈路控制器由微處理器和網絡管理部分等組成,如圖1所示。


    在BootLoader網卡驅動設計中,主要包括3種基本的操作(文中以Realtek8139網卡作為實例進行具體分析):
    1)網卡的初始化
    應完成的工作是初始化網卡中的相關硬件,包括網卡中斷向量的設置、網卡接收與發(fā)送緩沖區(qū)在內存中的映射、網卡數據結構的初始化等。
    2)數據包發(fā)送
    發(fā)送和發(fā)送控制部分負責幀的發(fā)送。發(fā)送部分接受來自“NBZ曼徹斯特轉換器”的曼徹斯特碼的數據,并在發(fā)送控制部分允許的條件下將數據發(fā)送到媒體,發(fā)送的數據稱為TxD。發(fā)送控制部分判定是否進行發(fā)送,這種判定基于LAN管理部分和TxD來進行。
    3)數據包的接收
    接收和接收控制部分負責幀的接收。這一部分產生網絡是否有載波存在的信號,產生的依據是從RxD中獲得。因此,網絡上來的信號一方面饋送給接收器,另一方面要饋送給接收控制部分。接收控制部分根據LAN管理部分和媒體上接收的信號判定是否使接收器工作。
1.2 網絡服務器端應用方案的設計
    
在網絡加載BootLoader中,使用到的應用層協(xié)議有DHCP、TFTP和NFS。目標平臺在工作中,需要服務器端提供以上協(xié)議的服務:
    1)建立服務器端的DHCP服務
    該服務完成的功能是為目標平臺提供有效的IP地址分配,保證目標平臺與服務器之間正常通信時地址唯一。其配置過程如下:
    在確信DHCP協(xié)議已經被正確安裝后,需修改/etc/dhcpd.conf文件,例如:
    [!--empirenews.page--]
    其中subnet是目標機與主機共同的子網,netmask是它們的子網掩碼。Hardware ethernet是目標機的網絡硬件地址,可以通過fixed-address給目標分配一個固定的IP地址,當目標機啟動時,就會自己獲得這個IP地址。Option host-name是目標機的機器名。當主機與目標機直接連接時,option routers指向主機的地址,當它們不是直接連接,而是通過路由時,option routers的值為真正的routers地址值,同理optionsubnet-mask為option routers網絡的子網掩碼。Filename為目標機從TFTP服務端下載的文件名,next-server為提供TFTP服務的位置。
    最后請檢查/var/state/dhcp/dhcpd.leases文件是否存在,當一切準備好后,就可以運行DHCP服務了:
    #/etc/init.d/dhcpd start
    2)建立服務器端的TFTP服務
    該服務在基于網絡的BootLoader下載應用程序時使用,它類似于FTP服務,但它不需要向服務器提供用戶名與密碼,且其下載速度比FTP要快。其配置過程如下:
    在確信TFTP協(xié)議已經被正確安裝后,
    ①修改文件/etc/xinetd.conf,打開tftp的支持;
    ②修改文件/etc/xinetd.d/tftp,例如:
    
    參數server_args為tftp服務指定的目錄,其余參數理解比較容易。
    設置完畢后,請重新啟xinetd,運行tap服務。
    3)建立服務器端的NFS服務
    目標平臺在Linux運行初始化時,需要借助該服務來掛載根文件系統(tǒng)。其配置過程如下:
    在確定NFS已經正確安裝后,請修改文件/etc/exports,例如:
    /home/karim/ctrl—rooffs 192.168.172.10 (rw,no_root_squash)
    其中目錄/home/karim/ctrl-rooffs可以修改為服務器端的根文件系統(tǒng)存放的目錄。192.168.172.10為服務器端的IP地址。
    修改完成后只需要重新啟動NFS服務即可,NFS服務提供網絡文件系統(tǒng)功能,便于應用程序的管理與使用。
1. 3 客戶端嵌入式BootLoader的設計
    
在基于網絡加載的BootLoader系統(tǒng)中,應用程序文件一般被存放在網絡服務器。系統(tǒng)啟動后,BootLoader需要先驅動網絡適配器,并通過UDP/IP協(xié)議棧(BOOTP/DHCP、TFTP協(xié)議等),將映像文件下載到目標機端的SDRAM運行,當嵌入式linux操作系統(tǒng)初始化時,它借助NFS協(xié)議將根文件系統(tǒng)掛載到服務器端。
    在該方案中,BootLoader程序的主要工作步驟如下:
    1)基本硬件的初始化:包括屏蔽所有的中斷、初始化所有的硬件、設置/裝載系統(tǒng)setup值、設置CPU的時鐘和頻率、RAM的初始化等;
    2)讀取網絡參數配置文件:
    該配置文件主要存放系統(tǒng)使用網絡過程中需要的一些參數,包括MAC地址、tftp服務器的IP地址、Kernel文件名、應用程序文件名等。
    3)初始化PCI接口,并驅動網卡;
    4)通過DHCP協(xié)議獲取目標平臺的IP地址;
    目標平臺先廣播發(fā)送ARP包,當DHCP服務器接收到該ARP包后,就會根據ARP包中的硬件地址從地址表中分配一個有效的IP地址,并發(fā)送應答報文給目標平臺。
    5)通過tftp協(xié)議下載kernel代碼至內存SDRAM;
    6)運行Linux內核和系統(tǒng)應用程序。[!--empirenews.page--]
    該方案的執(zhí)行邏輯可以用圖2所示。



2 基于網絡加載的BootLoader的應用實現(xiàn)
    
本文設計的基于網絡加載的嵌入式BootLoader應用于DVB-C電視機頂盒產品中,在DVB-C機頂盒中,一般有網口用于與內容服務器進行交互,如VOD及網頁瀏覽器等功能。其硬件框圖組成如圖3所示。


    該DVB-C電視機頂盒中,CPU是Sunplus公司生產的32位雙核RISC微控制器SPH1003。此外,系統(tǒng)還集成有Semsung公司的Tuner,其功能是從cable中調制出TS流,其內容為電視節(jié)目流及電視節(jié)目輔助信息(如EPG,電視圖文信息)等。通過電視機頂盒的集成網口可以實現(xiàn)電視機頂盒軟件(主要是嵌入式Linux內核,根文件系統(tǒng)及應用程序三個部分)的下載與啟動。
    在該DVB—C機頂盒中,BootLoader的裝載程序主要是實現(xiàn)從網絡下載嵌入式Linux內核并且啟動系統(tǒng)。在由BootLoader完成系統(tǒng)的硬件初始化后,程序將會跳轉到網絡Loader程序中,由它驅動網卡,并啟動tftp請求,從網絡服務器端通過tftp協(xié)議下載指定文件,并運行起來,其軟件運行如1.3部分。這種應用可以有效在利用機盒中的網卡網絡結構,從而降低機頂盒的整體成本(少去flash/ROM芯片及其周邊控制硬件等),同時也有利于及時更新應用程序及嵌入式內核等,實現(xiàn)機頂盒瘦客戶端目的和及時維護功能。

3 BootLoader引導裝載過程的測試與分析
3.1 測試用例設計
    
在DVB-C機頂盒引導裝載過程的測試中,主要包括單元測試與集成測試兩個方面。因此在設計測試用倒時,主要有單元測試用例及集成測試用例。其測試用例設計如表1、表2所示。


3.2 測試結果分析
    
根據上表測試用例的設計,分析結果如下:
    1)在單元測試中,根據每個函數的功能及測試結果要求,分別進行代碼覆蓋率的測試、參數邊界值測試及函數運行結果的測試,其測試結果全都能達到程序要求;
    2)在集成測試中,對網絡環(huán)境的測試主要集中在:正常的網絡環(huán)境,運行不正常的網絡環(huán)境兩方面,程序對這兩種情況能夠正確地識別且做出不同的響應;對不同的目標文件進行了下載測試,分別比較原文件與下載到SDRAM的內容,兩者完全一致,且在多次下載測試中成功率達到100%;對DVB-C機頂盒的啟動過程及時間進行了專項測試,這項測試是BootLoader引導裝載程序最重要的性能測試,其啟動過程的成功率達到100%,啟動時間大致為1 s。

4 結束語
    
文中介紹的基于網絡加載的BootLoader整套設計與解決方案,具有良好的模塊結構和可擴展性,為應用于其它系統(tǒng)奠定了基礎。同時,在實際產品設計中已大量應用在DVB-C機頂盒中,該DVB-C機頂盒與一般機頂盒相比,節(jié)省20元左右,在批量生產中(十萬臺左右),可實現(xiàn)上百萬元的經濟效益,因此該方案具有很強的市場競爭力。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉