亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Bootloader的嵌入式軟件通用更新機制

        2011-06-07 05:53:14孫立新
        電視技術(shù) 2011年15期
        關(guān)鍵詞:嵌入式軟件剪裁配置文件

        孫立新

        (中國民用航空飛行學(xué)院 空中交通管理學(xué)院,四川 廣漢 618307)

        0 引言

        在嵌入式系統(tǒng)的使用過程中,或者在軟件開發(fā)過程中,系統(tǒng)軟件可能經(jīng)常被損壞。開發(fā)人員需要能方便地把嵌入式操作系統(tǒng)、文件系統(tǒng)和用戶應(yīng)用程序下載到特定的硬件平臺。目前,通常的做法有:

        1)使用專用的仿真器。由于不同的硬件平臺都需要不同的仿真器,比如ARM,MIPS等,所以這種方法不僅昂貴,而且也不通用方便。

        2)在Bootloader中增加下載的功能。當采用嵌入式Linux、Windows CE等較為復(fù)雜的操作系統(tǒng)時,一般需要設(shè)計一個獨立的Bootloader程序,對系統(tǒng)進行初始化并引導(dǎo)嵌入式操作系統(tǒng)。但由于不同硬件平臺的差異,會造成軟件開發(fā)和移植困難,如果還要實現(xiàn)從U盤或者SD卡上更新目標文件,難度就更大。

        所以,筆者針對這兩種方法的不便,提出了一種通用的更新機制——基于Bootloader的雙系統(tǒng)更新機制。該更新機制是指在嵌入式系統(tǒng)中包含了兩個操作系統(tǒng)的映像,一個用于正常工作,而另一個用作軟件更新或者存儲器分區(qū)管理等。

        1 基礎(chǔ)知識

        1.1 嵌入式軟件系統(tǒng)架構(gòu)

        嵌入式軟件平臺由以下幾部分組成:Bootloader、嵌入式操作系統(tǒng)內(nèi)核(kernel)和文件系統(tǒng)(file system)。其中文件系統(tǒng)是嵌入式系統(tǒng)軟件平臺占用存儲量最大的一部分,也是與用戶開發(fā)最相關(guān)的一部分。它存儲了系統(tǒng)配置文件、系統(tǒng)程序、用戶應(yīng)用程序等。文件系統(tǒng)包括根文件系統(tǒng)映像(例如ramdisk.image.Gz)以及其他類型的文件系統(tǒng)(例如jffs2、cramfs等)[1-2],如圖1所示。

        1.2 Bootloader

        Bootloader是嵌入式軟件中研究較多的領(lǐng)域。

        1)Bootloader的開發(fā)

        Bootloader的種類有U-BOOT,BLOB和RedBoot等,基本都支持SCC/FEC以太網(wǎng)、OOTP/TFTP引導(dǎo)、IP和MAC的預(yù)置功能[3-4]。其中U-BOOT是功能比較強大,應(yīng)用較廣泛的引導(dǎo)程序,本文中基于STB810的系統(tǒng)也采用U-BOOT。U-BOOT源代碼在sourceforge網(wǎng)站的社區(qū)服務(wù)器中,Internet上有一群自由開發(fā)人員對其進行維護和開發(fā)。

        2)Bootloaderd的移植

        Bootloader是依賴于硬件而實現(xiàn)的,每個目標板的硬件配置都不完全相同,因此Bootloader程序也都不會完全一樣。關(guān)于Bootloader的移植已有大量的研究成果[5-8]。

        除此以外,還有很多成果是基于Bootloader的軟件更新機制的[9-10]。其中在參考文獻[9]中,提出建立雙Boot?loader機制實現(xiàn)從SD卡升級軟件。

        2 系統(tǒng)方案設(shè)計

        目前,嵌入式系統(tǒng)一般都具有能穩(wěn)定工作的操作系統(tǒng),例如Linux,WinCE,uCOS,pSOS等。這些系統(tǒng)根據(jù)特定的硬件平臺做了性能優(yōu)化,并且支持的接口豐富、配置完整。所以,可以在不擴充Bootloader的情況下,通過增加一個裁減后的小系統(tǒng)來支持串口、USB、SD、網(wǎng)絡(luò)接口(http、tftp協(xié)議等)等不同方式地下載升級。這樣設(shè)計,不僅使用方便,而且減小了開發(fā)和移植的難度,提高了系統(tǒng)安全性。

        具體方法描述如下:修改Bootloader,在系統(tǒng)啟動前的一段時間內(nèi)(通常為0.1~3 s)檢測特定條件(通常是串口的按鍵,或者是特殊按鍵組合),如果沒有按鍵,正常啟動主系統(tǒng);當有指定的鍵按下,則進入剪裁后的小系統(tǒng),從被支持的接口讀目標文件并寫入FLASH,從而更新主系統(tǒng)。流程圖見圖2,系統(tǒng)空間分配表見表1。

        表1 系統(tǒng)空間分配表

        在剪裁后的小系統(tǒng)中還可以增加分區(qū)管理和格式化等命令,方便更新操作。也可以利用操作系統(tǒng)中的LCD驅(qū)動以圖形方式顯示操作頁面和操作進度提示等,使方案具有良好的人機接口。

        3 基于STB810的實現(xiàn)

        STB810是NXP公司的機頂盒產(chǎn)品方案,主芯片PNX8550包含有一個MI/s的CPU和兩個TriMedia的DSP處理器,已經(jīng)移植了嵌入式Linux操作系統(tǒng),相關(guān)驅(qū)動也已經(jīng)基本完成,比如網(wǎng)絡(luò)、USB、SD、IDE等,應(yīng)用軟件包中包含基本的應(yīng)用演示程序,比如媒體播放、GUI應(yīng)用等。系統(tǒng)中也有一個Bootloader,但該Bootloader的功能較弱。所以,在本方案中采用了U-BOOT作為替代,源代碼易于獲取。

        上節(jié)已介紹了Bootloaderd的修改。本節(jié)主要介紹操作系統(tǒng)的剪裁。而剪裁后的系統(tǒng)使用gzip壓縮。

        Linux中,一個完整的文件系統(tǒng)主要由/bin,/sbin,/dev,/proc,/etc這幾個必不可少的目錄和其他一些目錄組成(如:/usr,/home,/root,/boot,/lib,/mnt,/tmp,/var等)。

        3.1 文件系統(tǒng)分析

        為了裁剪文件系統(tǒng),有必要了解整個文件系統(tǒng)包含的內(nèi)容及其啟動過程。

        配置文件/etc/inittab中的指令進行一些初始化工作,如IDE、SCSI、NETWORK、AUDIO、設(shè)置系統(tǒng)時鐘、設(shè)置主機名等;掛載一些必要的文件系統(tǒng):/proc,/sys,/proc/bus/usb;建立設(shè)備節(jié)點;網(wǎng)絡(luò)設(shè)置等。

        此外,還有動態(tài)設(shè)備進行管理,當新增加一個設(shè)備時,它會在/dev下創(chuàng)建該設(shè)備的節(jié)點,動態(tài)分配設(shè)備的主設(shè)備號、次設(shè)備號;當設(shè)備拔下來后,則會刪除以上建立的對應(yīng)東西。例如當需要從U盤更新軟件時就可以不剪裁。插入U盤,hotplug自動加載需要的模塊,udev創(chuàng)建相應(yīng)的/dev/sda1等節(jié)點,hotplug向HAL發(fā)消息,HAL收到消息后,根據(jù)配置文件,運行fstab-sync來修改fstab,創(chuàng)建/media的子目錄作為掛載點。

        另外,在/opt目錄中,主要是飛利浦的一些應(yīng)用程序,如音視頻播放等。/lib目錄中,有文件系統(tǒng)的一些基本的庫和PNX8550芯片相關(guān)的一些必要模塊。在/usr目錄中,有可執(zhí)行命令、應(yīng)用程序(音視頻播放等)所需要的DirectFB庫文件,以及一些測試程序。這些程序或者庫文件在更新機制中基本不使用,可以剪裁。

        3.2 文件系統(tǒng)編譯

        文件系統(tǒng)中占空間比較大的主要是/bin,/sbin,/usr/bin,/usr/sbin中的一些可執(zhí)行文件、庫文件以及一些模塊。這部分通常通過Busybox來編譯,重新配置生成/bin,/sbin,/usr/bin,/usr/sbin中的可執(zhí)行文件,以減小這些可執(zhí)行文件的大小。注意,在編譯配置中不用動態(tài)模塊庫,只用靜態(tài)模塊。

        文件系統(tǒng)采用initramfs,根文件系統(tǒng)(Rootfs)采用Busybox編譯成vmlinux,再用gzip壓縮,命名為tool.raw(剪裁后的小系統(tǒng)),將Bootloader映像文件命名為boot.raw,將主Linux系統(tǒng)(正常工作時使用的系統(tǒng))命名為linux.raw,這樣Flash的空間映像見表2。

        4 結(jié)論

        基于Bootloader的雙系統(tǒng)更新機制是利用了一個裁

        表2 STB810空間映像表

        減的小系統(tǒng),方便實現(xiàn)各種接口的軟件更新機制和存儲器分區(qū)管理功能。當主文件系統(tǒng)損壞時提供系統(tǒng)恢復(fù)能力,提高了系統(tǒng)的安全性,但又不增加成本,并可大大節(jié)省軟件開發(fā)和移植的工作量。

        [1]王亞軍,劉金剛.Linux運用于嵌入式系統(tǒng)的技術(shù)分析[J].計算機應(yīng)用研究.2005,22(5):102-104.

        [2]詹榮開.嵌入式Bootloader技術(shù)內(nèi)幕[EB/OL].(2006-09-20)[2010-12-20].http://www-128.ibm.com/developerworks/cn/linux/l-loader/.

        [3]陳渝,李明,楊曄.源碼開放的嵌入式系統(tǒng)軟件分析與實踐[M].北京:北京航空航天大學(xué)出版社.2004.

        [4]張和君,張躍.基于GNU工具的嵌入式Bootloader設(shè)計與開發(fā)[J].計算機工程,2006(8):277-279.

        [5]王東,李哲英.U-Boot在S3C44B0上的移植方法[J].北京交通大學(xué)學(xué)報,2005(4):76-80.

        [6]孫棣華,趙君杰.U-Boot引導(dǎo)程序可視化配置[J].計算機應(yīng)用,2010,6:177-197.

        [7]楊潔,趙剛.嵌入式系統(tǒng)中Bootloader的編譯與移植[J].四川大學(xué)學(xué)報:自然科學(xué)版,2007(8):835-839.

        [8]王亞剛.嵌入式Bootloader機制的分析與移植[J].計算機工程,2010,3(6):267-269.

        [9]王恒,王颋,王泉,等.基于Bootloader的可靠嵌入式軟件遠程更新機制[J].微計算機信息,2007,12(23):57-59.

        [10]李權(quán),鄢萍,賀曉輝.高可靠性的嵌入式軟件現(xiàn)場更新方法[J].計算機應(yīng)用,2010(8):2228-2231.

        猜你喜歡
        嵌入式軟件剪裁配置文件
        心靈手巧的“剪裁師”——卷葉象甲
        提示用戶配置文件錯誤 這樣解決
        搭建簡單的Kubernetes集群
        互不干涉混用Chromium Edge
        忘記ESXi主機root密碼怎么辦
        渾然一體有玄奧——寫人作文之人事“剪裁”與“拼接”
        論報紙圖片編輯如何巧“剪裁”
        新聞傳播(2018年10期)2018-08-16 02:10:08
        實時嵌入式軟件的測試技術(shù)
        電子測試(2018年10期)2018-06-26 05:54:08
        全景相機遙控器嵌入式軟件V1.0 相關(guān)操作分析
        電子制作(2017年17期)2017-12-18 06:40:56
        基于Eclipse的航天嵌入式軟件集成開發(fā)環(huán)境設(shè)計與實現(xiàn)
        中文字幕日本女优在线观看| 色哟哟网站在线观看| 广东少妇大战黑人34厘米视频| 久久一日本道色综合久久大香 | 白白色日韩免费在线观看| 亚洲成av人片一区二区密柚| 黑人巨大无码中文字幕无码| 亚洲中文字幕无线无码毛片| 日本二区三区视频免费观看| 在线播放亚洲丝袜美腿| 国产成人亚洲精品无码av大片| 国产精品白浆视频免费观看| 久草视频华人在线观看| 少妇被黑人嗷嗷大叫视频| 亚洲精品无码久久久| 欧美自拍区| 国产精品麻豆成人av| 成人偷拍自拍视频在线观看| 帮老师解开蕾丝奶罩吸乳视频| 国产香蕉尹人综合在线观| 日本熟妇视频在线中出| 午夜久久久久久禁播电影| 中日韩精品视频在线观看 | 中文字幕无线精品亚洲乱码一区| 一区二区三区人妻av| 久久精品噜噜噜成人| 亚洲国产A∨无码影院| 亚洲蜜臀av一区二区三区漫画| 97在线视频人妻无码| 国产第一页屁屁影院| 亚洲色偷偷偷综合网另类小说| 狼人伊人影院在线观看国产| 狠狠色婷婷久久一区二区三区| 亚洲国产麻豆综合一区| 亚洲综合在线一区二区三区| 国产熟妇疯狂4p交在线播放| 国产精品久久久久久人妻精品 | 高清毛茸茸的中国少妇| 色一乱一伦一图一区二区精品 | 人人妻人人澡人人爽超污| 国产成人精品三级麻豆|