国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩


Bootloader的種類

分享到:
           

    Bootloader是在操作系統(tǒng)運行之前執(zhí)行的一段小程序。通過這段小程序,可以初始化硬件設(shè)備、建立內(nèi)存空間的映像表,從而建立適當?shù)南到y(tǒng)軟、硬件環(huán)境,為終調(diào)用操作系統(tǒng)內(nèi)核做好準備。

    對于嵌入式系統(tǒng),Bootloader是基于特定硬件平臺來實現(xiàn)的,因此,幾乎不可能為所有的嵌入式系統(tǒng)都建立一個通用的Bootloader,不同的處理器架構(gòu)有不同的Bootloader。Bootloader不但依賴于CPU的體系結(jié)構(gòu),而且依賴于嵌入式系統(tǒng)板級設(shè)備的配置。對于兩塊不同的嵌入式主板而言,即使它們使用同一種處理器,要想讓運行在一塊主板上的Bootloader程序也能運行在另一塊主板上,一般也都需要修改Bootloader的源程序。

    反過來,大部分Bootloader仍然具有很多共性,某些Bootloader也能夠支持多種體系結(jié)構(gòu)的嵌入式系統(tǒng)。例如,U-Boot就同時支持PowerPC、ARM、MIPS和X86等體系結(jié)構(gòu),支持的主板有上百種。通常,它們都能夠自動從存儲介質(zhì)上啟動,都能夠引導操作系統(tǒng)啟動,并且大部分都可以支持串口和以太網(wǎng)接口。

    Bootloader的種類

    嵌入式系統(tǒng)世界已經(jīng)有各種各樣的Bootloader,種類劃分也有多種方式。除了按照處理器體系結(jié)構(gòu)不同劃分以外,還有通過功能復雜程度進行劃分的。

    首先區(qū)分一下“Bootloader”和“Monitor”的概念。嚴格來說,“Bootloader”只是引導設(shè)備并且執(zhí)行主程序的固件;而“Monitor”還提供了更多的命令行接口,進行調(diào)試、讀寫內(nèi)存、燒寫Flash、配置環(huán)境變量等!癕onitor”在嵌入式系統(tǒng)開發(fā)過程中提供很好的調(diào)試功能,開發(fā)完成以后,就完全設(shè)置成了一個“Bootloader”。所以,習慣上把它們統(tǒng)稱為Bootloader。

    表1.4列出了Linux的開放源碼引導程序及其支持的體系結(jié)構(gòu),表中給出了X86、ARM、PowerPC體系結(jié)構(gòu)的常用引導程序,并且注明了每一種引導程序是不是“Monitor”。

表1.4 Linux的開放源碼引導程序

Bootloader Monitor 描述 X86 ARM PowerPC
LILO Linux磁盤引導程序
GRUB GNU的LILO替代程序
Loadlin 從DOS引導Linux
ROLO 從ROM引導Linux而不需要BIOS

續(xù)表

Bootloader Monitor 描述 X86 ARM PowerPC
Etherboot 通過以太網(wǎng)卡啟動Linux系統(tǒng)的固件
LinuxBIOS 完全替代BIOS的Linux引導程序
BLOB LART等硬件平臺的引導程序
Vivi 主要為S3C2410等三星處理器引導Linux
U-Boot 通用引導程序
RedBoot 基于eCos的引導程序

    1.X86

    X86的工作站和服務(wù)器上一般使用LILO和GRUB。LILO曾經(jīng)是Linux發(fā)行版主流的Bootloader,不過,現(xiàn)在幾乎所有的發(fā)行版都已經(jīng)使用了GRUB,GRUB比LILO有更友好的顯示接口,使用配置也更加靈活方便。

    在某些X86嵌入式單板機或者特殊設(shè)備上,會采用其他的Bootloader,如ROLO。這些Bootloader可以取代BIOS的功能,能夠從Flash中直接引導Linux啟動,F(xiàn)在ROLO支持的開發(fā)板已經(jīng)并入U-Boot,所以U-Boot也可以支持X86平臺。

    2.ARM

    ARM處理器的芯片提供商很多,所以每種芯片的開發(fā)板都有自己的Bootloader,使得ARM Bootloader也變得多種多樣。早有ARM720處理器開發(fā)板的固件,之后又有了armboot、StrongARM平臺的BLOB,還有S3C2410處理器開發(fā)板上的Vivi等,F(xiàn)在armboot已經(jīng)并入了U-Boot,所以U-Boot也支持ARM/XSCALE平臺。U-Boot已經(jīng)成為ARM平臺事實上的標準Bootloader。關(guān)于ARM的學習可以參考華清遠見《ARM開發(fā)培訓班》的課程大綱。

    3.PowerPC

    PowerPC平臺的處理器有標準的Bootloader,就是PPCBOOT。PPCBOOT在合并armboot等之后,創(chuàng)建了U-Boot,成為各種體系結(jié)構(gòu)開發(fā)板的通用引導程序。U-Boot仍然是PowerPC平臺的主要Bootloader。

    4.MIPS

    MIPS公司開發(fā)的YAMON是標準的Bootloader,也有許多MIPS芯片提供商為自己的開發(fā)板寫了Bootloader。現(xiàn)在,U-Boot也已經(jīng)支持MIPS平臺。

    5.SH

    SH平臺的標準Bootloader是sh-boot,RedBoot在這種平臺上也很好用。

    6.M68K

    M68K平臺沒有標準的Bootloader。RedBoot能夠支持M68K系列的系統(tǒng)。

    值得說明的是,RedBoot幾乎能夠支持所有的體系結(jié)構(gòu),包括MIPS、SH、M68K等。RedBoot是以eCos為基礎(chǔ),采用GPL許可的開源軟件工程,現(xiàn)在由core eCos的開發(fā)人員維護,源碼下載網(wǎng)站是//www.ecoscentric.com/snapshots。RedBoot的文檔也相當完善,有詳細的使用手冊RedBoot User’s Guide。

    本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應(yīng)用程序開發(fā)》

   熱點鏈接:

   1、配置主機交叉開發(fā)環(huán)境
   2、搭建嵌入式交叉編譯環(huán)境
   3、構(gòu)建嵌入式Linux交叉開發(fā)環(huán)境
   4、嵌入式培訓資料:搭建交叉編譯環(huán)境
   5、嵌入式交叉編譯過程詳解

更多新聞>>