universal boot loader,普遍的引導程式。是非常常用的乙個引導程式,可作為主流系統的引導程式,如openbsd, netbsd, freebsd,4.4bsd, linux, svr4, esix, solaris等等,當然同時也支援多種常見的cpu處理器,如mips、 x86、arm、nios、xscale等。
u-boot是一種普遍用於嵌入式系統中的bootloader,bootloader是在作業系統執行之前執行的一小段程式,通過它,我們可以初始化硬體裝置、建立記憶體空間的對映表,從而建立適當的軟硬體環境,為最終呼叫作業系統核心做好準備。bootloader的作用就是把核心映像從硬碟(例如nand flash)讀到ram中,然後跳到核心入口處執行,即啟動作業系統。每次嵌入式系統在上電或者復位的時候都是從位址0x00000000處執行,這個位址處安排的就是bootloader程式。
接下來介紹的是u-boot-2010.06往後版本的目錄結構。u-boot目錄結構,相比老版本,新版本
cpu與lib_arch合二為一,命名archu-boot-2010.06往後版本的各目錄結構含義如下表:增加include folder
分離出通用庫資料夾lib
目錄名主要內容
apiuboot中的介面函式
arch
uboot中有關處理器架構相關的**
board
為開發板定製的相關**
common
通用**,大部分與命令列有關
disk
磁碟分割槽相關**
doc有關readme.txt相關**
drivers
與驅動程式相關**
examples
示例程式
fs檔案系統,適合大部分開發板上的檔案系統
include
包含全域性的標頭檔案
lib通用庫檔案
net網路相關的**,小型的協議棧
post
power on self test,上電自檢程式
tools
輔助程式,用於編譯和檢查uboot目標檔案
總結一下,從目錄結構上看,u-boot在移植過程中有兩個經常需要動到的/arch和/board目錄。作為一名初學者,或者還沒有涉及到u-boot裁剪的話,我們盡力搞清楚這兩個目錄下的**原理即可搞明白u-boot的工作流程。
U boot目錄簡介
u boot目錄簡介 1.檔案介紹 gitignore git是乙個版本管理工具 類似svn arm config.mk 字尾是.mk,是乙個makefile檔案,其他的makefile檔案可以呼叫。changelog 修改記錄檔案,記錄u boot專案的版本變遷以及每個版本較上版本的修改記錄。co...
U Boot 目錄架構
u boot 的目錄結構如下圖 arch 包含 cpu 相關的源 nuc970 cpu 相關的源 放在 arch arm cpu arm926ejs nuc900.board 包含板子相關的源 nuc970 板子相關的源 放在 board nuvoton nuc970 evb.commom 包含 u...
U BOOT 移植總結(一)了解編譯流程 目錄結構
github uboot 倉庫 交叉編譯工具 要求 6.0 依賴庫 提前安裝 涉及比較重要的目錄。參考edb9315a在相同位置建立目錄,更改makefile kconfig xx defconfig 等完成make 成功編譯出u boot檔案,但具體硬體初始化不匹配自己玩的本子,不能成功啟動。切到...