999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于網絡加載的嵌入式BootLoader的設計與實現

2012-09-26 00:16:44王薇
電子設計工程 2012年22期
關鍵詞:嵌入式系統

王薇

(四川財經職業學院 四川 成都 610101)

嵌入式系統從軟件結構層次的角度來看,一般由引導裝載程序(BootLoader,BSP)、操作系統和應用程序幾部分組成。然而在有的嵌入式系統中,操作系統和應用程序存放在系統以外的設備中,如網絡、硬盤等,整個系統只有引導裝載程序[1]。因此BootLoader是嵌入式系統設計中比較重要的一部分。

在嵌入式系統的引導中,按照應用程序存放位置,可以有3種不同的加載方式:固態存儲媒體、磁盤以及網絡[2],每種方式都會有自己特有的配置和用法。3種設置方式各有其優缺點,固態儲存媒體啟動方式一般適用于帶有ROM/FLASH的嵌入式系統中,是大多數嵌入式設備的首選方案如手機,mp3等,但當應用程序較大的情況下,為了降低嵌入式設備的單價,磁盤啟動方式也被大量使用,典型應用如SDH電信傳輸網絡設備測試儀ANT-20等,而基于網絡加載方式則是最便宜的嵌入式設備的應用方案,應用程序存放在網絡服務器端,嵌入式設備啟動時,只需要將它通過網絡當到內存并運行,一方面可以快速解決應用程序升級問題,另一方面也可以降低嵌入設備的整體成本,且在開發初期這種方式也能大幅提高調試速度,典型的應用如嵌入式設備的瘦客戶端。

1 基于網絡加載的BootLoader方案設計

這種方案重點解決兩個問題,一是嵌入式設備加電后啟動前與服務器端之間的通信與聯系,二是嵌入設備在啟動過程中應用程序下載方式的實現。前者需要將嵌入式設備驅動起來,實現通信能力,網卡驅動是必須實現的步驟,后者需要通過相關的協議棧將應用程序下載到系統內存,運行起來。本文重點介始基于UDP/IP協議棧的(DHCP、TFTP、NFS)加載方案設計。

1.1 BootLoader中網卡驅動的設計

網絡適配器(網卡)一般由可編程數據鏈路控制器、曼徹斯特編碼/譯碼器、收發器接口和控制電路等幾部分組成,其中可編程數據鏈路控制器由微處理器和網絡管理部分等組成[3],如圖 1所示。

圖1 網絡適配器的結構Fig.1 Structure of the network adapter

在BootLoader網卡驅動設計中,主要包括3種基本的操作(文中以Realtek8139網卡作為實例進行具體分析):

1)網卡的初始化

應完成的工作是初始化網卡中的相關硬件,包括網卡中斷向量的設置、網卡接收與發送緩沖區在內存中的映射、網卡數據結構的初始化等。

2)數據包發送

發送和發送控制部分負責幀的發送。發送部分接受來自“NRZ曼徹斯特轉換器”的曼徹斯特碼的數據,并在發送控制部分允許的條件下將數據發送到媒體,發送的數據稱為TxD。發送控制部分判定是否進行發送,這種判定基于LAN管理部分和TxD來進行。

3)數據包的接收

接收和接收控制部分負責幀的接收。這一部分產生網絡是否有載波存在的信號,產生的依據是從RxD中獲得。因此,網絡上來的信號一方面饋送給接收器,另一方面要饋送給接收控制部分。接收控制部分根據LAN管理部分和媒體上接收的信號判定是否使接收器工作。

1.2 網絡服務器端應用方案的設計

在網絡加載BootLoader中,使用到的應用層協議有DHCP、TFTP和NFS。目標平臺在工作中,需要服務器端提供以上協議的服務:

1)建立服務器端的DHCP服務

該服務完成的功能是為目標平臺提供有效的IP地址分配,保證目標平臺與服務器之間正常通信時地址唯一。其配置過程如下:

在確信DHCP協議已經被正確安裝后,需修改/etc/dhcpd.conf文件,例如:

其中subnet是目標機與主機共同的子網,netmask是它們的子網掩碼。Hardware ethernet是目標機的網絡硬件地址,可以通過fixed-address給目標分配一個固定的IP地址,當目標機啟動時,就會自己獲得這個IP地址。Option host-name是目標機的機器名。當主機與目標機直接連接時,option routers指向主機的地址,當它們不是直接連接,而是通過路由時,option routers的值為真正的routers地址值,同理option subnet-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協議已經被正確安裝后,

①修改文件/etc/xinetd.conf,打開tftp的支持;

②修改文件/etc/xinetd.d/tftp,例如:

參數server_args為tftp服務指定的目錄,其余參數理解比較容易。

設置完畢后,請重新啟xinetd,運行tftp服務。

3)建立服務器端的NFS服務

目標平臺在Linux運行初始化時,需要借助該服務來掛載根文件系統。其配置過程如下:

在確定NFS已經正確安裝后,請修改文件/etc/exports,例如:

/home/karim/ctrl -rootfs 192.168.172.10 (rw,no_root_squash)

其中目錄/home/karim/ctrl-rootfs可以修改為服務器端的根文件系統存放的目錄。192.168.172.10為服務器端的IP地址。

修改完成后只需要重新啟動NFS服務即可,NFS服務提供網絡文件系統功能,便于應用程序的管理與使用。

1.3 客戶端嵌入式BootLoader的設計

在基于網絡加載的BootLoader系統中,應用程序文件一般被存放在網絡服務器。系統啟動后,BootLoader需要先驅動網絡適配器,并通過UDP/IP協議棧(BOOTP/DHCP、TFTP協議等),將映像文件下載到目標機端的SDRAM運行,當嵌入式linux操作系統初始化時,它借助NFS協議將根文件系統掛載到服務器端。

在該方案中,BootLoader程序的主要工作步驟如下[4-6]:

1)基本硬件的初始化:包括屏蔽所有的中斷、初始化所有的硬件、設置/裝載系統setup值、設置CPU的時鐘和頻率、RAM的初始化等;

2)讀取網絡參數配置文件:

該配置文件主要存放系統使用網絡過程中需要的一些參數,包括MAC地址、tftp服務器的IP地址、Kernel文件名、應用程序文件名等。

3)初始化PCI接口,并驅動網卡;

4)通過DHCP協議獲取目標平臺的IP地址;

目標平臺先廣播發送ARP包,當DHCP服務器接收到該ARP包后,就會根據ARP包中的硬件地址從地址表中分配一個有效的IP地址,并發送應答報文給目標平臺。

5)通過tftp協議下載kernel代碼至內存SDRAM;

6)運行Linux內核和系統應用程序。

該方案的執行邏輯可以用圖2所示。

圖2 基于網絡加載的BootLoader程序執行邏輯圖Fig.2 Program execution logic diagram of the BootLoader based on network load

2 基于網絡加載的BootLoader的應用實現

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

圖3 DVB-C基于網絡的電視機頂盒的硬件組成框圖Fig.3 DVB-C TV set-top box based on network’hardware block diagram

該DVB-C電視機頂盒中,CPU是Sunplus公司生產的32位雙核RISC微控制器SPH1003。此外,系統還集成有Samsung公司的Tuner,其功能是從cable中調制出TS流,其內容為電視節目流及電視節目輔助信息(如EPG,電視圖文信息)等。通過電視機頂盒的集成網口可以實現電視機頂盒軟件(主要是嵌入式Linux內核,根文件系統及應用程序三個部分)的下載與啟動。

在該DVB-C機頂盒中,BootLoader的裝載程序主要是實現從網絡下載嵌入式Linux內核并且啟動系統。在由BootLoader完成系統的硬件初始化后,程序將會跳轉到網絡Loader程序中,由它驅動網卡,并啟動tftp請求,從網絡服務器端通過tftp協議下載指定文件,并運行起來,其軟件運行如1.3部分。這種應用可以有效在利用機盒中的網卡網絡結構,從而降低機頂盒的整體成本 (少去flash/ROM芯片及其周邊控制硬件等),同時也有利于及時更新應用程序及嵌入式內核等,實現機頂盒瘦客戶端目的和及時維護功能。

3 BootLoader引導裝載過程的測試與分析

3.1 測試用例設計

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

表1BootLoader引導裝載過程的測試用例表——單元測試Tab.1 Test case table of the BootLoader’s loading process-unit testing

3.2 測試結果分析

根據上表測試用例的設計,分析結果如下:

1)在單元測試中,根據每個函數的功能及測試結果要求,分別進行代碼覆蓋率的測試、參數邊界值測試及函數運行結果的測試,其測試結果全部能達到程序要求;

表2BootLoader引導裝載過程的測試用例表——集成測試Tab.2 Test case table of the BootLoader’s loading process-integration testing

2)在集成測試中,對網絡環境的測試主要集中在:正常的網絡環境,運行不正常的網絡環境兩方面,程序對這兩種情況能夠正確地識別且做出不同的響應;對不同的目標文件進行了下載測試,分別比較原文件與下載到SDRAM的內容,兩者完全一致,且在多次下載測試中成功率達到100%;對DVB-C機頂盒的啟動過程及時間進行了專項測試,這項測試是BootLoader引導裝載程序最重要的性能測試,其啟動過程的成功率達到100%,啟動時間大致為1 s。

4 結束語

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

[1]韋東山.嵌入式Linux應用開發完全手冊[M].北京:人民郵電出版社,2008.

[2]慕春棣.嵌入式系統的構建[M].北京:清華大學出版社,2004.

[3]譚獻海.網絡編程技術及應用[M].北京:清華大學出版社,2009.

[4]劉遠峰,陳志華.一種新的基于TMS320C6000 DSP的Flash引導自啟動方法[J].電視技術,2011,35(21):54-57.

LIU Yuan-feng,CHEN Zhi-hua.New method forflash booting based on TM S320C600O DSP[J].Video Engineering,2011,35(21):54-57.

[5]王薇.基于嵌入式linux的BootLoader的設計與應用[D].成都:西南交通大學,2006.

[6]游侃民.嵌入式系統網絡化BOOTLOADER的設計與實現[D].廣州:華南理工大學,2010.

猜你喜歡
嵌入式系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
主站蜘蛛池模板: 欧美国产视频| a级毛片一区二区免费视频| 香蕉久久国产精品免| 欧美亚洲国产日韩电影在线| 女人天堂av免费| 中文精品久久久久国产网址| 手机精品福利在线观看| 农村乱人伦一区二区| 91丨九色丨首页在线播放 | 亚洲国产精品日韩专区AV| 人人艹人人爽| 看av免费毛片手机播放| 98超碰在线观看| 国产成人亚洲无码淙合青草| 精品丝袜美腿国产一区| 午夜啪啪网| 丁香五月婷婷激情基地| 亚洲精品爱草草视频在线| 国产后式a一视频| 国产成人亚洲综合a∨婷婷| 亚洲精品777| 国产精品久久久久久久伊一| 婷婷六月色| 成人国产免费| 久久毛片网| 中国国产A一级毛片| 久久国产乱子| 2021国产乱人伦在线播放| 国产天天色| 日韩久久精品无码aV| 国产美女无遮挡免费视频网站| 欧美成人免费一区在线播放| 亚洲无码高清免费视频亚洲| 免费看的一级毛片| 国产精品久久久久鬼色| 亚洲欧美日本国产综合在线| 精品国产美女福到在线直播| 不卡视频国产| 久久青草热| 国产鲁鲁视频在线观看| 无码久看视频| 久久人搡人人玩人妻精品| 色偷偷av男人的天堂不卡| 亚洲第一成年免费网站| 亚洲男人的天堂在线观看| 激情无码视频在线看| 40岁成熟女人牲交片免费| 国产丰满大乳无码免费播放| 欧美精品一二三区| 成人精品免费视频| 亚洲视频a| lhav亚洲精品| 欧美国产日本高清不卡| 久久精品中文字幕少妇| 性欧美久久| 国产成人精品免费视频大全五级| 国产精品视频白浆免费视频| 亚洲精品在线91| 国产va在线观看| 免费一级毛片不卡在线播放| 国产精品视频观看裸模| 91青青视频| 国产成人高清精品免费5388| 九九久久精品国产av片囯产区| 亚洲 欧美 日韩综合一区| 亚洲成a人片77777在线播放| 亚洲一级色| 色成人综合| 88av在线看| 亚洲欧美在线看片AI| 欧美一级特黄aaaaaa在线看片| 又污又黄又无遮挡网站| 97青青青国产在线播放| 91亚洲精选| 天天色天天操综合网| 亚洲首页在线观看| 国产毛片高清一级国语| 国模视频一区二区| 免费黄色国产视频| 伊伊人成亚洲综合人网7777| 91精品国产自产91精品资源| 国产成人综合网在线观看|