linux uboot 源码分析,UBoot源码分析1.pdf
UBoot源碼分析1
? UBoot源碼解析(一)
主要內容
? 分析UBoot是如何引導Linux內核
? UBoot源碼的一階段解析
BootLoader概念
? Boot Loader 就是在操作系統內核運行之前運行
的一段小程序。通過這段小程序,我們可以初始
化硬件設備、建立內存空間的映射圖,從而將系
統的軟硬件環境帶到一個合適的狀態,以便為最
終調用操作系統內核準備好正確的環境
? 通常,Boot Loader 是嚴重地依賴于硬件而實現
的,特別是在嵌入式世界。因此,在嵌入式世界
里建立一個通用的Boot Loader 幾乎是不可能的。
盡管如此,我們仍然可以對Boot Loader 歸納出
一些通用的概念來,以指導用戶特定的Boot
Loader 設計與實現。
UBoot來源
? U-Boot 是 Das U-Boot 的簡稱,其含義是 Universal Boot
Loader GPL
,是遵循 條款的開放源碼項目。最早德國
DENX 軟件工程中心的 Wolfgang Denk 基于 8xxROM 和
FADSROM 的源碼創建了 PPCBoot 工程項目,此后不斷
添加處理器的支持。而后,Sysgo Gmbh 把 PPCBoot 移
植到 ARM 平臺上,創建了 ARMBoot 工程項目。最終,
以 PPCBoot 工程和 ARMBoot 工程為基礎,創建了 U-
Boot 工程。
? 而今,U-Boot 作為一個主流、通用的 BootLoader,成功
地被移植到包括 PowerPC、ARM、X86 、MIPS、NIOS、
XScale 等主流體系結構上的百種開發板,成為功能最多、
BootLoader
靈活性最強,并且開發最積極的開源 。目前。
U-Boot 仍然由 DENX 的 Wolfgang Denk 維護
UBoot存儲空間分布
? UBoot OS
是用來引導 系統啟動,那么它是如何引
OS
導 啟動的呢?
啟動參數
內核 根文件系統
bootloader
bootloader
bboooottllooaaddeerr
UBoot和內核的交互
? UBoot如何調用Linux內核?
– UBoot通過命令把Linux內核鏡像文件從Flash中讀取到內存的某一
, PC UBoot Linux
位置然后設置 寄存器執向該位置 調用 內核的
前提條件是?
– R0 =0
– R1= linux/arch/arm/mach-type
適當的機器碼機器碼的位置存放在
文件中
– R2 =啟動參數標記列表在內存中的位置
– CPU必須設置為SVC模式并關閉中斷
– MMU必須關閉
? UBoot如何給內核傳遞參數?
– UBoot和內核交互是單向的,兩個程序不能同時運行,那么要實
現參數傳遞只能通過把參數存
總結
以上是生活随笔為你收集整理的linux uboot 源码分析,UBoot源码分析1.pdf的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直面苦难作文800字议论文
- 下一篇: 关于父亲的名言名句102个