国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

您好,歡迎進(jìn)入深圳市穎特新科技有限公司官方網(wǎng)站!

您現(xiàn)在的位置:首頁(yè) 新聞資訊 >> 新聞?lì)^條 >> 嵌入式之UBOOT
新聞資訊
NEWS INFORMATION

嵌入式之UBOOT

發(fā)布時(shí)間:2019-05-22

嵌入式Linux系統(tǒng)的結(jié)構(gòu)分為四個(gè)區(qū),如圖所示:

1.Bootloader區(qū)存放的是Bootloader,Coidre972開(kāi)發(fā)板上使用的uboot,它負(fù)責(zé)嵌入式系統(tǒng)最初的硬件初始化、驅(qū)動(dòng)和內(nèi)核加載。
2、參數(shù)區(qū)不是必須的,通常存放了一些系統(tǒng)參數(shù),并且通常這個(gè)區(qū)是沒(méi)有文件系統(tǒng),參數(shù)以原始數(shù)據(jù)的格式來(lái)存放。
3、內(nèi)核鏡像區(qū)存放的Linux內(nèi)核壓縮鏡像,它被解壓后運(yùn)行于內(nèi)存,作為嵌入式設(shè)備的Linux操作系統(tǒng)。
4、文件系統(tǒng)區(qū)存放經(jīng)過(guò)壓縮的文件系統(tǒng),它會(huì)被Linux內(nèi)核解壓并掛載,并作為各種應(yīng)用程序、文件的主要載體。
這4個(gè)區(qū)都以二進(jìn)制數(shù)據(jù)的形式存放于嵌入式設(shè)備的Flash芯片上。由于參數(shù)區(qū)不下載,在實(shí)際的操作中只下載3個(gè)區(qū)即可:uboot、內(nèi)核、和文件系統(tǒng)。

 

U-Boot,全稱 Universal Boot Loader,是遵循GPL條款的開(kāi)放源碼項(xiàng)目。U-Boot的作用是系統(tǒng)引導(dǎo)。U-Boot從FADSROM、8xxROM、PPCBOOT逐步發(fā)展演化而來(lái)。其源碼目錄、編譯形式與Linux內(nèi)核很相似,事實(shí)上,不少U-Boot源碼就是根據(jù)相應(yīng)的Linux內(nèi)核源程序進(jìn)行簡(jiǎn)化而形成的,尤其是一些設(shè)備的驅(qū)動(dòng)程序,這從U-Boot源碼的注釋中能體現(xiàn)這一點(diǎn)。U-

Boot不僅僅支持嵌入式Linux系統(tǒng)的引導(dǎo),它還支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS, android嵌入式操作系統(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, android。這是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)稱W.D]本人精湛專業(yè)水平和執(zhí)著不懈的努力。當(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, android;
③ 支持多個(gè)處理器系列,如PowerPC、ARM、x86、MIPS;
④ 較高的可靠性和穩(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、鍵盤等;
⑦ 較為豐富的開(kāi)發(fā)調(diào)試文檔與強(qiáng)大的網(wǎng)絡(luò)技術(shù)支持;

目錄結(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鏡像文件的工具;
(以上關(guān)于目錄結(jié)構(gòu)的說(shuō)明只適應(yīng)u-boot-2010.06之前版本。u-boot-2010.06之后目錄結(jié)構(gòu)改變
1.cpu與lib_arch合二為一,命名arch
2.增加include folder
3.分離出通用庫(kù)文件夾lib
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、鍵盤、USB、PCMCIA、PCI、RTC等驅(qū)動(dòng)支持;
上電自檢功能SDRAM、FLASH大小自動(dòng)檢測(cè);SDRAM故障檢測(cè);CPU型號(hào);
* 特殊功能XIP內(nèi)核引導(dǎo);

工作模式

U-Boot的工作模式有啟動(dòng)加載模式和下載模式。啟動(dòng)加載模式是Bootloader的正常工作模式,嵌入式產(chǎn)品發(fā)布時(shí),Bootloader必須工作在這種模式下,Bootloader將嵌入式操作系統(tǒng)從FLASH中加載到SDRAM中運(yùn)行,整個(gè)過(guò)程是自動(dòng)的。下載模式就是Bootloader通過(guò)某些通信手段將內(nèi)核映像或根文件系統(tǒng)映像等從PC機(jī)中下載到目標(biāo)板的FLASH中。用戶可以利用Bootloader提供的一些命令接口來(lái)完成自己想要的操作

啟動(dòng)流程

大多數(shù)BootLoader都分為stage1和stage2兩大部分,U-boot也不例外。依賴于cpu體系結(jié)構(gòu)的代碼(如設(shè)備初始化代碼等)通常都放在stage1且可以用匯編語(yǔ)言來(lái)實(shí)現(xiàn),而stage2則通常用C語(yǔ)言來(lái)實(shí)現(xiàn),這樣可以實(shí)現(xiàn)復(fù)雜的功能,而且有更好的可讀性和移植性。
1、 stage1(start.s代碼結(jié)構(gòu))
U-boot的stage1代碼通常放在start.s文件中,它用匯編語(yǔ)言寫成,其主要代碼部分如下:
(1) 定義入口。由于一個(gè)可執(zhí)行的image必須有一個(gè)入口點(diǎn),并且只能有一個(gè)全局入口,通常這個(gè)入口放在rom(Flash)的0x0地址,因此,必須通知編譯器以使其知道這個(gè)入口,該工作可通過(guò)修改連接器腳本來(lái)完成。
(2)設(shè)置異常向量(exception vector)。
(3)設(shè)置CPU的速度、時(shí)鐘頻率及中斷控制寄存器
(4)初始化內(nèi)存控制器 。
(5)將rom中的程序復(fù)制到ram中。
(6)初始化堆棧 。
(7)轉(zhuǎn)到ram中執(zhí)行,該工作可使用指令ldrpc來(lái)完成。
2、 stage2(C語(yǔ)言代碼部分)
lib_arm/board.c中的start armboot是C語(yǔ)言開(kāi)始的函數(shù),也是整個(gè)啟動(dòng)代碼中C語(yǔ)言的主函數(shù),同時(shí)還是整個(gè)u-boot(armboot)的主函數(shù),該函數(shù)主要完成如下操作:
(1)調(diào)用一系列的初始化函數(shù)。
(2)初始化flash設(shè)備。
(3)初始化系統(tǒng)內(nèi)存分配函數(shù)。
(4)如果目標(biāo)系統(tǒng)擁有nand設(shè)備,則初始化nand設(shè)備。
(5)如果目標(biāo)系統(tǒng)有顯示設(shè)備,則初始化該類設(shè)備。
(6)初始化相關(guān)網(wǎng)絡(luò)設(shè)備,填寫ip,c地址等。
(7)進(jìn)入命令循環(huán)(即整個(gè)boot的工作循環(huán)),接受用戶從串口輸入的命令,然后進(jìn)行相應(yīng)的工作。
 
 
 
聯(lián)系方式0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

国产高清精品福利私拍| 大香蕉精品视频一区二区| 日韩特级黄片免费在线观看| 午夜福利大片亚洲一区| 午夜精品在线观看视频午夜| 国产精品香蕉免费手机视频| 久久精品国产亚洲av麻豆尤物| 国产欧美另类激情久久久| 日本欧美一区二区三区在线播| 日韩不卡一区二区视频| 亚洲欧美日韩精品永久| 国产又大又硬又粗又湿| 小黄片大全欧美一区二区| 日本午夜免费福利视频 | 成人精品视频一区二区在线观看| 麻豆在线观看一区二区| 亚洲精品福利视频在线观看| 日韩免费国产91在线| 一区二区欧美另类稀缺| 99久久免费中文字幕| 国产精品大秀视频日韩精品| 国产精品一区二区高潮| 亚洲精品一区二区三区免| 国产熟女高清一区二区| 中日韩美一级特黄大片| 久久99夜色精品噜噜亚洲av| 1024你懂的在线视频| 国产a天堂一区二区专区| 国产丝袜极品黑色高跟鞋| 日韩不卡一区二区视频| 亚洲综合一区二区三区在线| 日本午夜免费观看视频| 亚洲精品深夜福利视频| 日韩欧美一区二区不卡看片| 亚洲第一视频少妇人妻系列 | 亚洲妇女作爱一区二区三区| 日韩三极片在线免费播放| 天海翼精品久久中文字幕 | 少妇在线一区二区三区| 精品综合欧美一区二区三区| 久久精品蜜桃一区二区av|