uboot的作用和啓動方式


聲明:本文由個人學習過程中整理而成,轉載請註明出處。

1、bootloader介紹

(1)對於計算機系統,從開機上電到操作系統的啓動需要一個引導程序叫做bootloader(啓動加載程序)。

通過bootloader建立了適當的系統軟硬件環境,爲最終調用操作系統內核做好準備。

(2)對於嵌入式系統的bootloader是基於特定的硬件平臺實現的,無法通用。

bootloader不僅依賴CPU架構,而且還依賴板級設備的配置。


2、uboot主要的作用就是啓動操作系統內核。

linux內核設計成可以被傳參。

可以在uboot中準備好要傳給linux內核的一些參數,然後放在內存中特定位置等待linux內核獲取。

內核啓動後會到特定位置去取uboot留給他的參數,然後內核解析這些參數用來指導linux內核的啓動過程。


3、uboot的啓動方式:uboot大小隨意,假定爲200KB。

啓動過程:先開機上電後BL0(iROM)運行,BL0會加載外部啓動設備中的uboot的前16KB(BL1)到SRAM中去運行,BL1運行時會初始化DDR,然後將整個uboot搬運到DDR中,然後用一句長跳轉(從SRAM跳轉到DDR)指令從SRAM中直接跳轉到DDR中繼續執行uboot直到uboot完全啓動。


4、S5PV210的啓動方式:內置SRAM(iRAM)的容量是96KB,內置的NorFlash(iROM)的容量是64KB。大致可以分三步。

第一步:CPU先讀取運行iROM裏面設定好的代碼,這一段代碼會做一些基本的初始化(比如關看門狗...),然後選擇判斷啓動模式,在相對應的外部存儲器中讀取一部分代碼(BL1,大小16KB)到iRAM。

第二步:運行、執行讀取到iRAM中的BL1,負責將BL2(大小80KB)讀取到iRAM中。

第三步:運行、執行讀取到iRAM中的BL2,負責初始化DRAM,然後將OS讀取到DRAM中啓動OS。


參考資料:《uboot和系統移植---朱有鵬老師》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章