本文目錄:uboot基礎(chǔ)了解
1. U-boot是什么
2. U-boot主要特性及功能
3. U-boot下載地址
4. U-boot目錄結(jié)構(gòu)
5. 如何編譯Uboot
6. U-boot工作模式
7. U-boot的存放位置
8. U-boot系列文章匯總
U-Boot
,全稱 Universal Boot Loader
,是遵循GPL條款的從FADSROM、8xxROM、PPCBOOT逐步發(fā)展演化而來的 開放源碼項(xiàng)目。
U-boot
,是一個主要用于嵌入式系統(tǒng)的引導(dǎo)加載程序,可以支持多種不同的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu),其主要作用為:引導(dǎo)系統(tǒng)的啟動!目前,U-Boot不僅支持Linux系統(tǒng)的引導(dǎo),還支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS, android等多種嵌入式操作系統(tǒng)。
Uboot開發(fā)源碼:
其他廠商定制的uboot源碼:
目錄 | 含義 |
---|
arch | 各個廠商的硬件信息,目錄下包括支持的處理器類型 |
arch/arm/cpu/xxx | 每一個子文件夾,包含一種cpu系列。每個子文件夾下包含cpu.c(CPU初始化),interrupts.c(設(shè)置中斷和異常),start.S(U-boot的啟動文件,早期的初始化)。 |
board | 與開發(fā)板有關(guān),每一個子文件夾代表一個芯片廠家,芯片廠家下,每一個子文件夾,表示一個開發(fā)板 |
common | 存放與處理器體系無關(guān)的通用代碼,可以說為通用核心代碼! |
cmd | 存放uboot的相關(guān)命令實(shí)現(xiàn)部分 |
drivers | 存放外圍芯片驅(qū)動,網(wǎng)卡,USB等 |
disk | 存放驅(qū)動磁盤的分區(qū)處理代碼 |
fs | 本目錄下存放文件系統(tǒng)相關(guān)代碼,每一個子文件夾表示文件系統(tǒng) |
net | 網(wǎng)絡(luò)協(xié)議相關(guān)代碼 |
doc | uboot說明文檔 |
include | 各種頭文件 |
post | 上電自檢代碼 |
api | 外部擴(kuò)展程序的API和示例 |
tools | 編譯S-Record或者U-boot鏡像的相關(guān)工具 |
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CORSS_COMPILE=arm-linux-gnueabihf- colibri-imx6ull_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
ARCH=arm
:arm架構(gòu)
CROSS_COMPILE
:使用的交叉編譯器
如果編譯出錯,your compile older 6.0,可以參考【1】
colibri-imx6ull_defconfig
:指定一個config
文件,作為相關(guān)版型的配置信息
V=1
:這個選項(xiàng)能顯示出編譯過程中的詳細(xì)信息,即是verbose編譯模式
-j8
:多核并行編譯,可以提高編譯速度,受硬件限制
U-boot的工作模式有:啟動加載模式和下載模式
啟動加載模式,為Bootloader正常工作模式,一款開發(fā)板,正常上電后,Bootloader將嵌入式操作系統(tǒng)從FLASH中加載到SDRAM中運(yùn)行。
下載模式,就是Bootloader通過通信,將內(nèi)核鏡像、根文件系統(tǒng)鏡像從PC機(jī)直接下載到目標(biāo)板的FLASH中。
嵌入式系統(tǒng),一般使用Flash來作為啟動設(shè)備,Flash上存儲著U-boot、環(huán)境變量、內(nèi)核映像、文件系統(tǒng)等。U-boot存放于Flash的起始地址,所在扇區(qū)由Soc規(guī)定。
下面是進(jìn)行U-boot開發(fā)期間,感覺比較不錯的資料,總結(jié)分享一下!
[1] 官方資料:
Uboot官網(wǎng)(http://www./wiki/U-Boot/)
Uboot官方指南(http://www./wiki/DULG/Manual)
官方指南2(https://u-boot./en/latest/index.html)
[2] https://blog.51cto.com/u_9291927/category5
[3] https://blog.csdn.net/ooonebook/category_6484145.html
[4] https://blog.csdn.net/qq_36310253/category_9332618.html