中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Uboot能夠實現哪些功能

發布時間:2021-11-15 14:51:55 來源:億速云 閱讀:127 作者:柒染 欄目:大數據

Uboot能夠實現哪些功能,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Uboot的來源和發展

一、Uboot的由來?

這里我們簡單來了解一下Uboot的由來。Uboot一開始是由一個德國大神發起的一個項目,這個項目后面被 Wolfgang  Denk 轉移到了 SourceFore.net  上來了,但是SourceForge.net上不允許以數字來開頭的項目命名名稱,所以改名為 PPCBoot。PPCBoot 在 2000 年 7 月 19 日 第一次被公開發布出來了;其實, Uboot 從 FADSROM、8xxROM、PPCBOOT逐步發展演化而來的。這期間被很多人使用,甚至被許多Soc(System on Chip的縮寫,稱為芯片級系統,也有稱片上系統,意指它是一個產品,是一個有專用目標的集成電路,其中包含完整系統并有嵌入軟件的全部內容。)廠商支持,這更加推動了 Uboot的廣泛使用了。最終,Uboot經過多年發展,已經成為業內 bootloader (引導程序)標準了,而且現在大部分的嵌入式設備都會默認使用 Uboot 來作為 bootloader了。

二、Uboot的版本號問題:

1、早期的 Uboot 的版本類似于這樣:Uboot 1.3.4(也就是比較老的版本),但是后面版本號就不是以這種方式來命名了,而是命名成,比如:Uboot-2010.06 這樣的形式了。所以我們在看到各種 Uboot的版本號時,要能夠辨別出來。下面我們可以這個地方下載 Uboot 的源碼,這里不是推薦去官網下載 Uboot 的源碼,太慢了,這里我提供一個下載網站:https://ftp.denx.de/pub/u-boot/ ;這里有各個版本時期的 Uboot 源代碼版本號 ,大家有需要可以下載學習,同時在下載的時候,注意,一般下載后綴不帶 “ rc ” 的版本號,因為帶 “ rc ” 的版本是不穩定的,也就是說是測試版本:

Uboot能夠實現哪些功能

2、其實 Uboot 的核心部分幾乎是沒有改變的,盡管后面出來很多新的Uboot 版本號,只是說越新的版本支持的嵌入式開發板越來越多,所以總的來說,新版本和老版本 Uboot核心并沒有差異。其實有的時候我們在看 Linux源代碼的時候,看老版本的相反可能比較經典和好入門。

三、Uboot 的可移植性的理解:

1、Uboot就是 universal bootloader (通用的引導程序),意思是說,在各種地方都可以用。舉個例子來說,Uboot 可以支持 嵌入式 Linux 系統的引導啟動,同時它也支持 NetBSD ,VxWorks , android 等嵌入式操作系統,而且它還能支持 MIPS 、x86 等常用系列的處理器。現在一般來說,Uboot對 PowerPC 系列處理器支持最為完整豐富,對 Linux 系統支持最為完善。所以總的來說,Uboot 的可移植性非常好。

                         Uboot有哪些功能

一、自身可以開機直接啟動:

一般的 Soc 都支持多種啟動方式,比如說 SD 卡啟動、 NorFlash  啟動、NandFlash  啟動  等方式,所以說,必須根據具體的SoC的啟動設計來設計uboot; 而且Uboot 必須進行和硬件相對應的代碼級別的更改和移植,才能夠保證可以從相應的啟動介質啟動;Uboot 中第一階段的 start .s 文件中具體處理了這一塊。

二、能夠引導操作系統內核啟動并給內核傳參:

Uboot的最終目的是為了啟動內核;Linux 內核在設計的時候,設計為是可以被傳參的,也就是說我們可以在 Uboot 中事先給 Linux 內核準備一些啟動參數放在內存中特定位置,然后再傳給Linux內核,Linux內核啟動后就會到這個特定的位置拿 Uboot傳給它的參數,然后再 Linux 內核中解析這些參數,這些參數將被用來指導 Linux內核的啟動過程。

三、能夠提供系統部署功能:

Uboot 必須能夠被我們借助而完成整個系統 ( 這其中包括 Uboot 、Kernel 、 rootfs 等的鏡像)在 Flash 上的燒錄下載工作

四、能進行 Soc 級和板級硬件管理:

Uboot 中實現了一部分硬件的控制能力(Uboot中初始化了一部分硬件),這是因為 Uboot為完成一些任務必須得讓這些硬件工作,比如說 Uboot 要能夠實現刷機,它就必須能夠驅動 iNand (iNAND 是 SanDisk 公司研發的存儲芯片)。SoC 級(譬如串口)就是 SoC 內部外設,板級就是 SoC 外面開發板上面的硬件(譬如網卡、iNand)。

五、小結:

總之,Uboot 就是為了能夠啟動內核,讓我們的操作系統跑起來。

Uboot 的生命周期

  • uboot的生命周期就是指:uboot什么時候開始運行,什么時候結束運行。

  • uboot本質上是一個裸機程序(不是操作系統),一旦uboot開始SoC就會單純運行uboot(意思就是uboot運行的時候別的程序是不可能同時運行的),一旦uboot結束運行則無法再回到uboot(所以uboot啟動了內核后uboot自己本身就死了,要想再次看到uboot界面只能重啟系統。重啟并不是復活了剛才的uboot,重啟只是uboot的另一生)。

  • uboot的入口和出口。uboot的入口就是開機自動啟動,uboot的唯一出口就是啟動內核。uboot還可以執行很多別的任務(譬如燒錄系統),但是其他任務執行完后都可以回到uboot的命令行繼續執行uboot命令,而啟動內核命令一旦執行就回不來了。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西吉县| 甘泉县| 桐城市| 合作市| 紫云| 永年县| 蓝田县| 剑河县| 益阳市| 奎屯市| 南京市| 武定县| 上饶市| 乌苏市| 正宁县| 南丰县| 广河县| 曲周县| 玉环县| 深圳市| 德保县| 昌图县| 德化县| 晋中市| 鸡东县| 温宿县| 革吉县| 渭源县| 象州县| 永春县| 高密市| 称多县| 黎平县| 宝山区| 灵武市| 德阳市| 丽水市| 柯坪县| 芜湖县| 黄龙县| 古交市|