為什麼要有uboot

qq_18973645發表於2016-04-14

《朱老師物聯網大講堂》學習筆記

學習地址:www.zhulaoshi.org


uboot做什麼的呢?

簡單說就是啟動作業系統核心,

但是作業系統的啟動涉及很多東西,

所以啟動過程會有很多步驟。


計算機系統中,cpu(運算器+控制器)為核心,

同時組成部件也非常多,

有很多不同型別的計算機系統,因此組成部件也不同,

如果不涉及過多的細節,可以理解為計算機系統執行的核心部件就是:

cpu + 外部儲存器(flash/硬碟) + 內部儲存器( DDR...)


在開始講啟動過程前,要先明說下,

載pc機種,bios程式在主機板上,作業系統部署在硬碟上,

典型pc啟動過程:

執行bios(pc中是norflash),負責初始化記憶體和硬碟,從硬碟將os映象讀取到ddr中,然後跳轉到ddr中去執行os直到啟動(os啟動後bios就無用了)


在典型的嵌入式系統中,沒有bios,但是有bootloader,uboot部署在flash(能作為啟動裝置的),os也部署在flash上(以前說過,嵌入式系統沒有硬碟),這兩個flash可以是一個,也可以不是同一個。

啟動過程:先執行uboot(一種bootloader),uboot負責初始化ddr,初始化flash,將os從flash讀取到ddr中,然後啟動os(os啟動後uboot就無用了)。


bios變成uboot,硬碟變成flash,

android系統啟動和linux幾乎一樣,在核心啟動後,載入根檔案系統開始不一樣。


uboot:

1.啟動系統核心,

2.部署計算機,

3.驅動硬碟等硬體,

4.提供一個命令列。

相關文章