詞語(yǔ)解釋
1 U-Boot簡(jiǎn)介
U-Boot,全稱(chēng) Universal Boot Loader,是遵循GPL條款的開(kāi)放源碼項(xiàng)目。從FADSROM、8xxROM、PPCBOOT逐步發(fā)展演化而來(lái)。其源碼目錄、編譯形式與Linux內(nèi)核很相似,事實(shí)上,不少U-Boot源碼就是相應(yīng)的Linux內(nèi)核源程序的簡(jiǎn)化,尤其是一些設(shè)備的驅(qū)動(dòng)程序,這從U-Boot源碼的注釋中能體現(xiàn)這一點(diǎn)。但是U-Boot不僅僅支持嵌入式Linux系統(tǒng)的引導(dǎo),當(dāng)前,它還支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系統(tǒng)。其目前要支持的目標(biāo)操作系統(tǒng)是OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS。這是U-Boot中Universal的一層含義,另外一層含義則是U-Boot除了支持PowerPC系列的處理器外,還能支持MIPS、 x86、ARM、NIOS、XScale等諸多常用系列的處理器。這兩個(gè)特點(diǎn)正是U-Boot項(xiàng)目的開(kāi)發(fā)目標(biāo),即支持盡可能多的嵌入式處理器和嵌入式操作系統(tǒng)。就目前來(lái)看,U-Boot對(duì)PowerPC系列處理器支持最為豐富,對(duì)Linux的支持最完善。其它系列的處理器和操作系統(tǒng)基本是在2002年11 月PPCBOOT改名為U-Boot后逐步擴(kuò)充的。從PPCBOOT向U-Boot的順利過(guò)渡,很大程度上歸功于U-Boot的維護(hù)人德國(guó)DENX軟件工程中心Wolfgang Denk[以下簡(jiǎn)稱(chēng)W.D]本人精湛專(zhuān)業(yè)水平和持著不懈的努力。當(dāng)前,U-Boot項(xiàng)目正在他的領(lǐng)軍之下,眾多有志于開(kāi)放源碼BOOT LOADER移植工作的嵌入式開(kāi)發(fā)人員正如火如荼地將各個(gè)不同系列嵌入式處理器的移植工作不斷展開(kāi)和深入,以支持更多的嵌入式操作系統(tǒng)的裝載與引導(dǎo)。
選擇U-Boot的理由:
① 開(kāi)放源碼;
、 支持多種嵌入式操作系統(tǒng)內(nèi)核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS;
③ 支持多個(gè)處理器系列,如PowerPC、ARM、x86、MIPS、XScale;
、 較高的可靠性和穩(wěn)定性;
、 較高的可靠性和穩(wěn)定性;
、 高度靈活的功能設(shè)置,適合U-Boot調(diào)試、操作系統(tǒng)不同引導(dǎo)要求、產(chǎn)品發(fā)布等;
、 豐富的設(shè)備驅(qū)動(dòng)源碼,如串口、以太網(wǎng)、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、鍵盤(pán)等;
、 較為豐富的開(kāi)發(fā)調(diào)試文檔與強(qiáng)大的網(wǎng)絡(luò)技術(shù)支持;
2 U-Boot主要目錄結(jié)構(gòu)
* board 目標(biāo)板相關(guān)文件,主要包含SDRAM、FLASH驅(qū)動(dòng);
* common 獨(dú)立于處理器體系結(jié)構(gòu)的通用代碼,如內(nèi)存大小探測(cè)與故障檢測(cè);
* cpu 與處理器相關(guān)的文件。如mpc8xx子目錄下含串口、網(wǎng)口、LCD驅(qū)動(dòng)及中斷初始化等文件;
* driver 通用設(shè)備驅(qū)動(dòng),如CFI FLASH驅(qū)動(dòng)(目前對(duì)INTEL FLASH支持較好)
* doc U-Boot的說(shuō)明文檔;
* examples可在U-Boot下運(yùn)行的示例程序;如hello_world.c,timer.c;
* include U-Boot頭文件;尤其configs子目錄下與目標(biāo)板相關(guān)的配置頭文件是移植過(guò)程中經(jīng)常要修改的文件;
* lib_xxx 處理器體系相關(guān)的文件,如lib_ppc, lib_arm目錄分別包含與PowerPC、ARM體系結(jié)構(gòu)相關(guān)的文件;
* net 與網(wǎng)絡(luò)功能相關(guān)的文件目錄,如bootp,nfs,tftp;
* post 上電自檢文件目錄。尚有待于進(jìn)一步完善;
* rtc RTC驅(qū)動(dòng)程序;
* tools 用于創(chuàng)建U-Boot S-RECORD和BIN鏡像文件的工具;
3 U-Boot支持的主要功能
U-Boot可支持的主要功能列表
* 系統(tǒng)引導(dǎo) 支持NFS掛載、RAMDISK(壓縮或非壓縮)形式的根文件系統(tǒng)
* 支持NFS掛載、從FLASH中引導(dǎo)壓縮或非壓縮系統(tǒng)內(nèi)核;
* 基本輔助功能 強(qiáng)大的操作系統(tǒng)接口功能;可靈活設(shè)置、傳遞多個(gè)關(guān)鍵參數(shù)給操作系統(tǒng),適合系統(tǒng)在不同開(kāi)發(fā)階段的調(diào)試要求與產(chǎn)品發(fā)布,尤
* Linux支持最為強(qiáng)勁;
* 支持目標(biāo)板環(huán)境參數(shù)多種存儲(chǔ)方式,如FLASH、NVRAM、EEPROM;
* CRC32校驗(yàn),可校驗(yàn)FLASH中內(nèi)核、RAMDISK鏡像文件是否完好;
* 設(shè)備驅(qū)動(dòng) 串口、SDRAM、FLASH、以太網(wǎng)、LCD、NVRAM、EEPROM、鍵盤(pán)、USB、PCMCIA、PCI、RTC等驅(qū)動(dòng)支持;
* 上電自檢功能 SDRAM、FLASH大小自動(dòng)檢測(cè);SDRAM故障檢測(cè);CPU型號(hào);
* 特殊功能 XIP內(nèi)核引導(dǎo);
掃碼付費(fèi)即可復(fù)制
XMML | 非屏蔽雙絞線(xiàn) | 數(shù)據(jù)庫(kù)連接 | 2.75G | sc-FDMA | 無(wú)線(xiàn)ATM | 波束賦形 | 選路及波長(zhǎng)分配 | vpn網(wǎng)絡(luò) | HAND_over | datagram | CE路由器 |