uboot啟動流程

2022-08-14 21:12:23 字數 660 閱讀 7220

分兩階段,第一階段主要用彙編完成,第二階段主要用c

完成。個人覺得兩個階段的分工並沒有什麼明顯的要求,很多硬體的初始化可以放到第一階段也可以放到第二階段。只不過有一些複雜工作用彙編比較麻煩。

一般來說第一階段工作:

1. 硬體裝置初始化。

2. 為載入bootloader

的第二階段**準備

ram空間。

3. 複製bootloader

的第二階段**到

ram空間中。

4. 設定好棧。

5. 跳轉到第二階段**的c

入口點。

第二階段:

1. 初始化本階段要用到的硬體裝置。

2. 檢測系統記憶體對映。

3. 將核心映像和根檔案系統映像從flash

督導ram

空間。4. 

為核心設定啟動引數。

5. 呼叫核心。

bootloader與核心的互動:

bootloader與核心的互動是單向的,他們不能同時執行,

bootloader

將各類引數放在某乙個約定好的位置,再啟動核心,核心啟動後從這個位置獲得引數(比如記憶體的起始和結束位址)。

下面這個檔案就是某個bootloader

設計的詳細架構。

來自為知筆記(wiz)

uboot啟動流程概述 uboot啟動流程

u boot系統啟動流程 大多數bootloader都分為stage1和stage2兩大部分,u boot也不例外。依賴於cpu體系結構的 如裝置初始化 等 通常都放在stage1,且可以用組合語言來實現,而stage2則通常用c語言來實現,這樣可以實現複雜的功能,而且有更好的可讀性和移植性。2.1...

u boot啟動流程

uboot啟動流程分析 華清遠見嵌入式學院講師。uboot是嵌入式系統中最常用的bootloader,這裡我們以s3c2410為例分析一下uboot的啟動流程。首先通過uboot的鏈結檔案,我們可以看到uboot執行是執行的第一段 在start.s中。entry start sections ali...

uboot啟動流程

華清遠見嵌入式學院 講師。uboot是嵌入式系統中最常用的bootloader,這裡我們以s3c2410為例分析一下uboot的啟動流程。首先通過uboot的鏈結檔案,我們可以看到uboot執行是執行的第一段 在start.s中。entry start sections align 4 rodata...