国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

在Bootloader中實(shí)現(xiàn)嵌入式系統(tǒng)自動(dòng)升級(jí)

發(fā)布時(shí)間:2010-9-20 12:03    發(fā)布者:eetech
嵌入式系統(tǒng)由硬件和軟件兩部分組成,軟件部分主要包括Bootloader、內(nèi)核和文件系統(tǒng)。Bootloader是硬件系統(tǒng)加電所運(yùn)行的第l段軟件代碼,但在嵌入式系統(tǒng)中一般沒有像PC中的BIOS那樣的固件,因此整個(gè)系統(tǒng)的加載過程全部是由Bootloader來完成的。系統(tǒng)在上電l或復(fù)位時(shí)通常都從地址Ox00000000處開始執(zhí)行,而在這個(gè)地址處安排的通常就是系統(tǒng)的Bootloader。Bootloader的主要任務(wù)包括:初始化最基本的硬件;將Bootloader本身拷貝到RAM中運(yùn)行;將內(nèi)核拷貝到RAM中并調(diào)用內(nèi)核等。

通常在嵌入式系統(tǒng)中,首先通過JTAG接口將Bootloader燒寫到目標(biāo)板的Flash中,然后在Bootloader中,將內(nèi)核映像文件和文件系統(tǒng)映像文件通過串口和網(wǎng)絡(luò)下載并燒寫到Flash中。若需對(duì)內(nèi)核或文件系統(tǒng)升級(jí),則按照上述方法重新燒寫新的映像文件,直接覆蓋原來的映像文件。

上述方法中,一方面必須將目標(biāo)板和主機(jī)通過串口線和網(wǎng)線相連接,另一方面通過串口或網(wǎng)絡(luò)下載映像文件,速度很慢。本實(shí)驗(yàn)通過擴(kuò)充Bootloader功能,實(shí)現(xiàn)了通過CF存儲(chǔ)卡對(duì)內(nèi)核或文件系統(tǒng)映像文件的自動(dòng)升級(jí),對(duì)需要經(jīng)常為內(nèi)核或文件系統(tǒng)升級(jí)的嵌入式系統(tǒng)來說,克服了傳統(tǒng)升級(jí)方法的局限,簡化了升級(jí)方法,提高了升級(jí)速度。

1 基本原理

本實(shí)驗(yàn)對(duì)傳統(tǒng)Bootloader的功能進(jìn)行了擴(kuò)充,加入了升級(jí)系統(tǒng)的功能。例如,用戶需要對(duì)目標(biāo)板上的內(nèi)核或文件系統(tǒng)進(jìn)行升級(jí),只需要將新的映像文件命名為指定的名稱并拷貝到CF存儲(chǔ)卡中。然后,CF存儲(chǔ)卡插入目標(biāo)板的CF存儲(chǔ)卡插槽,重新啟動(dòng)目標(biāo)板即可完成升級(jí)過程。重啟時(shí),系統(tǒng)首先運(yùn)行Bootloader,Bootloader將檢測(cè)CF存儲(chǔ)卡中是否有內(nèi)核或文件系統(tǒng)的映像文件。若有,則讀取映像文件并燒寫到目標(biāo)板的F1ash中,實(shí)現(xiàn)升級(jí);若無,則直接啟動(dòng)目標(biāo)板中的系統(tǒng),如圖1所示。

實(shí)驗(yàn)使用的開發(fā)板基于Intel XScale處理器PXA255。PXA255具有16位的CF存儲(chǔ)卡控制器,用于連接CF存儲(chǔ)卡。開發(fā)板上有32 MB的Flash和64 MB的SDRAM,且Flash的起始地址映射到Ox00000000,SDRAM的起始地址映射到OxA0000000。

實(shí)驗(yàn)板上的InteI Strata Flash,容量為32 MB,分為Bootloader、reserved、kernel和root filesystem四個(gè)區(qū)。其中,Bootloader分區(qū)用于燒寫B(tài)ootloader,其起始地址為Ox00000000,當(dāng)系統(tǒng)加電啟動(dòng)或復(fù)位時(shí),CPU便跳轉(zhuǎn)到這個(gè)位置開始執(zhí)行指令;reserved分區(qū)為保留分區(qū),主要用于傳遞內(nèi)核啟動(dòng)參數(shù)以及其他系統(tǒng)設(shè)置;kernel分區(qū)和root filesystem分區(qū)分別用于燒寫內(nèi)核和文件系統(tǒng)。各分區(qū)的起始地址及大小如圖2所示。



2 實(shí)現(xiàn)

本文所討論的實(shí)現(xiàn)方法,主要是擴(kuò)充Bootloader的功能,增加對(duì)CF存儲(chǔ)卡的支持,使系統(tǒng)啟動(dòng)時(shí),Bootloader能對(duì)CF存儲(chǔ)卡進(jìn)行文件讀取。首先,要將CF存儲(chǔ)卡格式化成特定的文件系統(tǒng)格式(本實(shí)驗(yàn)主要支持FAT32、FATl6和EXT2三種文件系統(tǒng))。然后,將待升級(jí)的映像文件(內(nèi)核映像文件、文件系統(tǒng)映像文件或Bootloader本身的映像文件)通過主機(jī)拷貝到CF存儲(chǔ)卡。因此,Bootloader可以榆測(cè)到需要升級(jí)的映像文件并對(duì)目標(biāo)板上的相應(yīng)部分進(jìn)行更新。

2.1 Bootloader框架及工作流程

本實(shí)驗(yàn)所編寫的Bootloader僅實(shí)現(xiàn)了最基本的硬件初始化功能、系統(tǒng)引導(dǎo)功能和系統(tǒng)升級(jí)功能,靜態(tài)編譯的二進(jìn)制文件大小為38 KB。Bootloader用匯編語言和C語言實(shí)現(xiàn),匯編語言僅作了屏蔽所有中斷、初始化相關(guān)GPIO(General Purpose IO)、初始化SDRAM、拷貝Bootloader和內(nèi)核到SDRAM等簡單工作,便跳轉(zhuǎn)到C程序,在C程序中實(shí)現(xiàn)了后續(xù)的初始化工作及系統(tǒng)升級(jí)。詳細(xì)流程如圖3所示。



2.2 對(duì)CF存儲(chǔ)卡的支持及數(shù)據(jù)讀取過程

由于是從CF存儲(chǔ)卡上讀取新的映像文件并實(shí)現(xiàn)系統(tǒng)更新,故在Bootloader中必須首先支持CF卡。CF卡本身提供了兩個(gè)探測(cè)引腳(即Card Detect Pins),用于判斷CF卡是否存在。這兩個(gè)引腳成為CDl和CD2,在CF卡內(nèi)部被硬件設(shè)計(jì)為直接與地相連。當(dāng)CF卡插入時(shí),CDl和CD2應(yīng)全為低電平,因此,在Bootloader中通過檢測(cè)CDl和CD2的電平高低,可以判斷CF卡是否存在。

CF卡主要由3部分組成:控制器、存儲(chǔ)器陣列和緩沖區(qū)。其中,內(nèi)置的智能存儲(chǔ)器可以使外圍電路設(shè)計(jì)大大簡化,且完全符合內(nèi)存卡的PCMCIA(PersonalComputer Memory Card Intemational Association)和AIA (AdvanccdTechnology Attachment)接口規(guī)范。因此,對(duì)CF卡的訪問有基于PCMCIA規(guī)范的Memory Map模式、I/O方式以及基于ATA規(guī)范的True IDE方式。這里所實(shí)現(xiàn)的Bootloader中,CF卡工作在Truc IDE模式下,將CF卡的0E(Output Enable)引腳設(shè)置為低電平(反之,若為高電平,則CF卡將工作在PCMCIA規(guī)范的Memory Map模式或I/O模式下)。

對(duì)CF卡的True IDE工作模式設(shè)置完成后,通過向CF卡的寄存器寫入必要的信息實(shí)現(xiàn)對(duì)CF卡的控制及讀寫。CF卡主要包含以下寄存器:
  • 數(shù)據(jù)寄存器(R/W),用于對(duì)扇區(qū)的讀/寫操作,主機(jī)通過該寄存器向CF卡控制器寫入或從CF卡控制寄存器讀出扇區(qū)緩沖區(qū)的數(shù)據(jù);
  • 錯(cuò)誤寄存器(R),控制寄存器在診斷方式或操作方式下的錯(cuò)誤原因;
  • 扇區(qū)數(shù)寄存器(R/W)。記錄讀、寫命令的扇區(qū)數(shù)目;
  • 扇區(qū)號(hào)寄存器(R/W),記錄讀、寫和校驗(yàn)命令指定的起始扇區(qū)號(hào);
  • 柱面號(hào)寄存器(R/W),記錄讀、寫、校驗(yàn)和尋址命令指定的柱面號(hào);
  • 驅(qū)動(dòng)器/寄存器(R/W),記錄讀、寫、校驗(yàn)和尋道命令指定的驅(qū)動(dòng)器號(hào)、磁頭號(hào)和尋址方式;
  • 狀態(tài)寄存器(R),反映CF卡驅(qū)動(dòng)器執(zhí)行命令后的狀態(tài),讀浚寄存器要清除中斷請(qǐng)求信號(hào);
  • 命令寄存器(W),命令寄存器接收主機(jī)發(fā)送的CF卡工作的控制命令。

從CF卡讀取數(shù)據(jù)的過程如圖4所示。


2.3 文件系統(tǒng)支持

要對(duì)CF卡進(jìn)行文件存取,必須將CF卡格式化成某種文件系統(tǒng)。本實(shí)驗(yàn)所編寫的Bootloader主要支持3種文件系統(tǒng):FAT16、FAT32和EXT2。當(dāng)需要對(duì)嵌入式系統(tǒng)的內(nèi)核映像(映像文件名為zlmage)或根文件系統(tǒng)映像(映像文件名為tootfs.img)進(jìn)行升級(jí)時(shí),將待更新的映像文件按照指定的文件名拷貝到CF存儲(chǔ)卡中。系統(tǒng)啟動(dòng)時(shí),Bootloader首先檢測(cè)CF存儲(chǔ)卡的文件系統(tǒng)類型,然后按照相應(yīng)的文件系統(tǒng)格式查詢CF卡中的所有文件。若發(fā)現(xiàn)待更新的映像文件,則調(diào)用CF卡底層操作(詳見2.2節(jié)),將映像文件讀出到SDRAM中,再從SDRAM燒寫到嵌入式開發(fā)板的Flash中,實(shí)現(xiàn)升級(jí)。有關(guān)文件系統(tǒng)的實(shí)現(xiàn)細(xì)節(jié),詳見參考文獻(xiàn)。

3 結(jié)論

通過CF存儲(chǔ)卡對(duì)嵌入式系統(tǒng)的自動(dòng)升級(jí),一方面可以簡化升級(jí)過程,無需通過串口或網(wǎng)絡(luò)將目標(biāo)板與主機(jī)相連,將文件下載升級(jí),而只需插入CF卡,啟動(dòng)系統(tǒng)便可以完成升級(jí)過程;另一方面,升級(jí)速度也大大提高,因?yàn)橄到y(tǒng)對(duì)CF卡的存取速度遠(yuǎn)遠(yuǎn)高于串口或網(wǎng)絡(luò)。但是,要通過CF卡實(shí)現(xiàn)系統(tǒng)升級(jí),嵌入式板必須具有CF卡接口,因此,它并不適合所有的嵌入式系統(tǒng)。
本文地址:http://www.qingdxww.cn/thread-28131-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 深度體驗(yàn)Microchip自動(dòng)輔助駕駛應(yīng)用方案——2025巡展開啟報(bào)名!
  • 利用模擬開發(fā)工具生態(tài)系統(tǒng)進(jìn)行安全電路設(shè)計(jì)
  • 你仿真過嗎?使用免費(fèi)的MPLAB Mindi模擬仿真器降低設(shè)計(jì)風(fēng)險(xiǎn)
  • 我們是Microchip
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费一级做a爰片久久毛片 免费一级在线观看 | 免费成人高清视频 | 在线精品国内视频秒播 | 成人动漫久久 | 99re只有精品 | 国产区香蕉精品系列在线观看不卡 | 欧美视| 国外成人在线视频网站 | 国产一区二区在线免费观看 | 精品久久一区二区三区 | 日本一区二区三区精品 | 亚洲综合精品一二三区在线 | 91高清免费国产自产拍2021 | 欧美亚洲日本 | 99色视频在线观看 | 久久99国产这里有精品视 | 一级aaaaaa片毛片在线播放 | 欧美日韩中文字幕在线视频 | 亚洲人成网址在线观看 | 成人欧美一区二区三区在线 | 亚洲欧美日本国产一区二区三区 | 成年女人视频播放免费观看 | 91青青视频 | 伊人精品国产 | 欧美三区在线 | videosex久久麻豆 | 国产区精品一区二区不卡中文 | 日韩永久免费视频 | 8008app幸福宝隐藏入选集 | 欧美激情一级欧美精品 | 欧美性野久久久久久久久 | 午夜精品国产 | 四虎亚洲精品 | 伊人久久综在合线亚洲91 | 99热只有 | 亚洲免费影视 | 大丈夫电视剧在线观看 | 亚洲一级片免费看 | 亚洲国产精品免费在线观看 | 亚洲成人中文 | 精品日韩一区二区三区视频 |