嵌入式學習筆記 uboot

2021-10-05 11:43:48 字數 1746 閱讀 3855

1_linux啟動方式比較

一上電pc

linux/嵌入式系統

bios硬碟讀入核心

boot loader(最終目的是啟動核心,有很多種,我用的是uboot)從flash讀出核心,放到sdram中

引導作業系統windows

引導核心

識別c,d盤

掛接根檔案系統

執行應用程式qq等

應用程式

2_uboot,打補丁 編譯 燒寫

先看uboot原始碼包: u-boot-1.1.6.tar.bz2, 在看補丁u-boot-1.1.6_jz2440.patch (將我們在原始碼包上做的修改獨列出來作為乙個補丁,小一點).將這倆個檔案放到伺服器上面,分為四步:

a)_解壓

b)_打補丁

進入到解壓後的uboot-1.1.6目錄下打補丁,配置選項 –p1的意思是忽略當前目錄的意思.補丁檔案中 「--」意思是原來的原始檔, 「++」是修改後的檔案,由於已經進入原始碼檔案,於是忽略第乙個 「/」前面的東西

c)_配置

uboot的實現是很依賴具體硬體的,不同的嵌入式系統中的硬體也是千差萬別,於是需要進行一定的配置,先配置成我們需要的型別,對於我使用的這塊單板,只需要輸入

make 100ask24x0_config

d)_編譯

make

編譯的時間有點長,需要等待一段時間,然後拿到pc上用oflash燒寫到nandflash 即可

3_uboot操作

cpu上電後會從某乙個位址開始執行,arm架構的cpu會從位址0x0000 0000 開始執行,需要將儲存器件rom或者flash對映到這個位址,uboot就存放在這個位址處,一上電就可以執行.

這些選項可以燒寫檔案系統,核心到開發板上,q 退出選單,輸入 ? 或者 help就可以看到常用的選項了,如果需要檢視該選項的詳細用法,可以在該選項之前加入 「? xx」即可:

print可以輸出環境變數,比如ip位址,倒計時時間,等待, 也可以 「set ***」進行設定,比如開始倒計時的時間可以設定,

3_uboot結構

如果可以將作業系統核心複製到記憶體中執行,無論從本地比如flash還是從遠端比如通過網路,就稱這段程式為boot loader.uboot的最終目的是啟動核心,需要從flash中讀出核心,放到sdram中,然後啟動核心,於是uboot需要實現以下幾個基本功能:

1_讀flash:需要讀出核心

1.1_寫flash,為了開發方便,通過網絡卡, usb, 串列埠等等可以寫入命令等

2_初始化sdram

2.1_初始化時鐘,剛開始上電2440的時鐘的晶振12m,但是最大可以支援400m,關看門狗

2.2_初始化串列埠

3_啟動核心

4_uboot啟動方式

具體詳細的功能分析需要參考makefile

嵌入式UBOOT學習

之前還學習了在虛擬機上安裝ubuntu16.04系統,使用命令安裝一些必需的軟體包,以及常用的終端命令 以後再作補充。今天學習的內容總結如下,主要是對編譯uboot前的環境變數進行配置,以及elftosb轉換工具的安裝,使用該工具編譯出mx28 ivt uboot.sb檔案。uboot的概念 ubo...

嵌入式學習筆記 uboot 7

總結於朱有鵬老師的嵌入式課程,感謝朱老師 uboot要啟動核心,分為2個步驟 第一步是將核心映象從啟動介質中載入到ddr中,第二步是去ddr中啟動核心映象。作業系統核心本身就是乙個裸機程式,只是作業系統執行起來後在軟體上分為核心層和應用層。核心可以隨便訪問各種硬體,而應用程式只能被限制的訪問硬體和記...

嵌入式學習筆記

嵌入式系統定義 技術角度以應用為中心,以計算機技術為基礎,軟硬體可裁剪,應用系統對功能,可靠性,成本,體積,功耗,和應用環境有特殊要求的專用計算機系統系統角度 設計完成複雜功能的硬體和軟體並使其緊密契合在一起的計算機系統 實時在規定的時間內,完成規定的動作 紅帽linux 基本命令 ls 檢視當前目...