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

在Bootloader中實現嵌入式系統自動升級

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

通常在嵌入式系統中,首先通過JTAG接口將Bootloader燒寫到目標板的Flash中,然后在Bootloader中,將內核映像文件和文件系統映像文件通過串口和網絡下載并燒寫到Flash中。若需對內核或文件系統升級,則按照上述方法重新燒寫新的映像文件,直接覆蓋原來的映像文件。

上述方法中,一方面必須將目標板和主機通過串口線和網線相連接,另一方面通過串口或網絡下載映像文件,速度很慢。本實驗通過擴充Bootloader功能,實現了通過CF存儲卡對內核或文件系統映像文件的自動升級,對需要經常為內核或文件系統升級的嵌入式系統來說,克服了傳統升級方法的局限,簡化了升級方法,提高了升級速度。

1 基本原理

本實驗對傳統Bootloader的功能進行了擴充,加入了升級系統的功能。例如,用戶需要對目標板上的內核或文件系統進行升級,只需要將新的映像文件命名為指定的名稱并拷貝到CF存儲卡中。然后,CF存儲卡插入目標板的CF存儲卡插槽,重新啟動目標板即可完成升級過程。重啟時,系統首先運行Bootloader,Bootloader將檢測CF存儲卡中是否有內核或文件系統的映像文件。若有,則讀取映像文件并燒寫到目標板的F1ash中,實現升級;若無,則直接啟動目標板中的系統,如圖1所示。

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

實驗板上的InteI Strata Flash,容量為32 MB,分為Bootloader、reserved、kernel和root filesystem四個區。其中,Bootloader分區用于燒寫Bootloader,其起始地址為Ox00000000,當系統加電啟動或復位時,CPU便跳轉到這個位置開始執行指令;reserved分區為保留分區,主要用于傳遞內核啟動參數以及其他系統設置;kernel分區和root filesystem分區分別用于燒寫內核和文件系統。各分區的起始地址及大小如圖2所示。



2 實現

本文所討論的實現方法,主要是擴充Bootloader的功能,增加對CF存儲卡的支持,使系統啟動時,Bootloader能對CF存儲卡進行文件讀取。首先,要將CF存儲卡格式化成特定的文件系統格式(本實驗主要支持FAT32、FATl6和EXT2三種文件系統)。然后,將待升級的映像文件(內核映像文件、文件系統映像文件或Bootloader本身的映像文件)通過主機拷貝到CF存儲卡。因此,Bootloader可以榆測到需要升級的映像文件并對目標板上的相應部分進行更新。

2.1 Bootloader框架及工作流程

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



2.2 對CF存儲卡的支持及數據讀取過程

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

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

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

從CF卡讀取數據的過程如圖4所示。


2.3 文件系統支持

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

3 結論

通過CF存儲卡對嵌入式系統的自動升級,一方面可以簡化升級過程,無需通過串口或網絡將目標板與主機相連,將文件下載升級,而只需插入CF卡,啟動系統便可以完成升級過程;另一方面,升級速度也大大提高,因為系統對CF卡的存取速度遠遠高于串口或網絡。但是,要通過CF卡實現系統升級,嵌入式板必須具有CF卡接口,因此,它并不適合所有的嵌入式系統。
本文地址:http://www.qingdxww.cn/thread-28131-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
  • Dev Tool Bits——使用DVRT協議查看項目中的數據
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区三区成人久久片 | 国产卡二卡3卡乱码免费 | 四虎官方影库 | 日韩免费视频一区二区 | 老司机精品在线 | 日本免费高清视频二区 | 国产成人最新毛片基地 | 国内成人精品视频 | 在线观看国产麻豆 | 亚洲黄色在线观看网站 | 久久亚洲国产成人精品性色 | 九九热在线观看 | 亚州久久 | 日韩五月天 | 久久国产亚洲 | 国产精品大全国产精品 | 九色视频自拍 | 日本精品中文字幕在线不卡 | 欧美一级做一a做片性视频 欧美一级做性受 | 极品的亚洲 | 青青草国产三级精品三级 | 久久福利影院 | 九九热国产视频 | 青青青国产高清在线观看视频 | 国产精品美女网站在线观看 | 日韩精品一区二区三区中文在线 | 999yy成年在线视频免费看 | 精品国产高清久久久久久小说 | 奶茶视频有容乃大 | 国产精品国产三级国产an不卡 | 天天综合色天天综合网 | 毛片视频在线免费观看 | 极品美女一区二区三区 | 一区二区三区在线免费看 | 玖玖精品视频 | 91网站免费在线观看 | 欧美日韩在线一区 | 国产网站麻豆精品视频 | 日日天日日夜日日摸 | 日韩永久免费进入2015 | 手机看片在线精品观看 |