Uboot 啟動核心過程

2021-09-27 12:38:43 字數 400 閱讀 9462

宣告:參照韋東山老師的課程對uboot的啟動過程進行了大致得了解,現對uboot的啟動過程進行記錄

有關uboot的程式,我們可以將其看成乙個較為複雜的微控制器程式。

uboot程式的主要目的:啟動核心;

過程:(1)完成相關硬體的初始化,cpu的工作模式設為管理模式、關閉看門狗,關閉mmu、cache。

(2)初始化ram空間,之後進行**重定位。

(3)對即將用到的硬體裝置進行初始化,包括系統時鐘和串列埠;

(4)讀取核心,將核心從norflash複製到記憶體

(5)通過標記(tag)列表設定核心啟動的引數,將標記列表的位置資訊和板卡的序列號傳給thekernel函式啟動核心。

注:uboot和核心之間的引數傳遞是通過一片指定的記憶體,資料引數按規定好的tag進行儲存。

uboot啟動核心

假設bootcmd nand read.jffs2 0x30007fc0 kernel bootm 0x30007fc0 1 nand read.jffs2 0x30007fc0 kernel nand read.jffs2 0x30007fc0 kernel 從nand讀出核心 從 讀?從kern...

uboot啟動核心

經過了前面的的一系列準備,終於要啟動核心了。在uboot分析二中,提到過下面的這個函式 void main loop void 在啟動核心的時候在uboot裡面用到什麼命令呢?bootcmd 命令 nand.read.jffs 0x30007f00 kernel 從nand的kernel 分割槽讀核...

uboot啟動核心

uboot 映象為 uboot.bin,linux 映象為 zimage 嵌入式裝置中的分割槽表是自己定義的,uboot 和核心中的分割槽表應一致 核心執行前必須載入到 ddr 中指定的位址處 uboot 需要提供核心必要的引數 uboot 啟動核心有兩種方式,一種是等待倒計時結束後直接啟動核心,一...