国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

[國(guó)嵌筆記](méi)[030][U-Boot工作流程分析]

發(fā)布者:EtherealGrace最新更新時(shí)間:2025-02-21 來(lái)源: elecfans關(guān)鍵字:U-Boot  工作流程 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

uboot工作流程分析

程序入口

1.打開(kāi)頂層目錄的Makefile,找到目標(biāo)smdk2440_config的命令中的第三項(xiàng)(smdk2440)

2.進(jìn)入目錄board/samsung/smdk2440/,找到u-boot.lds文件。uboot的鏈接都是由這個(gè)鏈接器腳本來(lái)控制的

3.打開(kāi)u-boot.lds文件,找到.text(代碼段)的第一個(gè)文件cup/s3c24xx/start.o,該文件就是uboot的入口代碼。鏈接器腳本中的ENTRY用來(lái)表明整個(gè)程序的入口,那么標(biāo)號(hào)_start就是整個(gè)程序的入口

4.第一階段入口在cup/s3c24xx/start.S文件的_start處

5.第二階段入口在lib_arm/board.c文件的start_armboot處

 

第一階段(BL1)代碼分析

1.打開(kāi)source insight工程,并打開(kāi)start.S文件,[shift]+F8高亮顯示

2.分析代碼是只關(guān)心做了什么,不關(guān)怎么做??梢酝ㄟ^(guò)注釋找到做了什么。邊分析邊通過(guò)思維導(dǎo)圖記錄下來(lái)。

 

3.通過(guò)make smdk2440_config執(zhí)行相應(yīng)的配置項(xiàng)

4.執(zhí)行make,編譯uboot。在頂層目錄下會(huì)產(chǎn)生u-boot(elf)文件和u-boot.bin(二進(jìn)制)文件

5.通過(guò)反匯編u-boot(elf)文件可以查看相關(guān)信息

arm-linux-objdump -D -S u-boot >dump

搜索start_armboot可以找到start_armboot的地址為0x30001100, 在內(nèi)存中。說(shuō)明在這個(gè)時(shí)候BL1會(huì)跳轉(zhuǎn)到內(nèi)存中執(zhí)行BL2

6.打開(kāi)頂層目錄下的config.mk文件,config.mk文件會(huì)由Makefile 包含進(jìn)去。搜索TEXT_BASE(代碼段的基地址),會(huì)找到 -T(LDSCRIPT) -Ttext $(TEXT_BASE) 表示指定鏈接器腳本的地址由TEXT_BASE覆蓋掉。TEXT_BASE變量在boot/samsung/smdk2440/config.mk文件中定義,該值為0x30000000

7.b指令相對(duì)跳轉(zhuǎn),只會(huì)在SteppingStone中跳轉(zhuǎn),不會(huì)跳轉(zhuǎn)到內(nèi)存中。ldr pc, start_armboot會(huì)修改pc指針的值,使跳轉(zhuǎn)到內(nèi)存中運(yùn)行

 

8.2440、6410和210的第二階段執(zhí)行的代碼都相同

9.2440和6410的BL1和BL2產(chǎn)生的是一個(gè)bin文件,210的BL1和BL2產(chǎn)生的是兩個(gè)bin文件

10.210的BL1的鏈接腳本位于spl/u-boot-spl.lds。入口程序在arch/arm/cpu/armv7/start.S

11.BL1會(huì)把BL2復(fù)制到內(nèi)存中的0x23E00000處。BL1(16KB)與BL2之間有8KB的填空,所以BL2的地址在BL1后24KB處

12.210的BL2的鏈接器腳本位于arch/arm/cpu/armv7/u-boot.lds。程序入口同樣在arch/arm/cpu/armv7/start.S中

 

 

 

2440第一階段啟動(dòng)流程分析

1.設(shè)置中斷向量表

2.設(shè)置處理器為svc模式

3.刷新I/D cache

4.關(guān)閉mmu和cache

5.關(guān)閉看門(mén)狗

6.關(guān)閉所有中斷

7.初始化時(shí)鐘

8.初始化串口

9.簡(jiǎn)單初始化nand flash

10.內(nèi)存初始化

11.復(fù)制nand flash中的bl2到內(nèi)存中

12.設(shè)置堆棧,為C語(yǔ)言做準(zhǔn)備

13.清除bss段

14.跳轉(zhuǎn)到BL2

 

2440第二階段啟動(dòng)流程分析

1.分析時(shí),只關(guān)心硬件的初始化,不關(guān)心軟件的初始化

2.初始化串口

3.初始化LCD

4.初始化網(wǎng)卡

5.初始化LED

6.執(zhí)行用戶輸入的命令

 



關(guān)鍵字:U-Boot  工作流程 引用地址:[國(guó)嵌筆記](méi)[030][U-Boot工作流程分析]

上一篇:[國(guó)嵌筆記](méi)[029][ARM處理器啟動(dòng)流程分析v2]
下一篇:[國(guó)嵌筆記](méi)[032][異常向量表]

推薦閱讀最新更新時(shí)間:2025-06-06 11:18

OK6410A 開(kāi)發(fā)板 (三) 21 u-boot-2021.01 boot 解析 U-boot 鏡像運(yùn)行部分 standalone
首先搭建 standalone 環(huán)境 然后 再驗(yàn)證 initr_jumptable standalone 環(huán)境的搭建 其實(shí)就是 一個(gè) 加載,執(zhí)行的過(guò)程 加載可用 tftp // 當(dāng)然也可以用 fatload 或者其他方法,之所以用tftp ,是因?yàn)?在這種情況下tftp 是最快速的驗(yàn)證方法 執(zhí)行可用 go 1先完成tftp 服務(wù)器的安裝 2再完成網(wǎng)絡(luò)的設(shè)置 3再放置一個(gè) 可執(zhí)行的bin 文件到 tftp 服務(wù)器的下載目錄中 4然后在u-boot cmdline 中執(zhí)行下列code // 為什么 tftp 到 51000000 , 是因?yàn)? 這個(gè)地址存在且沒(méi)被使用 tftp 51000000 2led_c.bin go 51
[單片機(jī)]
u-boot-2009.08在mini2440上的移植 增加LCD顯示功能
移植環(huán)境 1,主機(jī)環(huán)境:VMare下CentOS 5.5 ,1G內(nèi)存。 2,集成開(kāi)發(fā)環(huán)境:Elipse IDE 3,編譯編譯環(huán)境:arm-linux-gcc v4.4.3,arm-none-eabi-gcc v4.5.1。 4,開(kāi)發(fā)板:mini2440,2M nor flash,128M nand flash。 5,u-boot版本:u-boot-2009.08 7.1添加 LCD 顯示功能 對(duì)于這個(gè) LCD 的支持是參考Openmoko 的代碼移植的。Openmoko 的GTA2 使用的是S3C2442 的CPU,在LCD 控制器上是一樣的。而GTA2 在U-boot 的可以在LCD 上顯示字符,而且對(duì)于軟件分層的U-
[單片機(jī)]
u-boot-2009.08在mini2440上的移植 增加LCD顯示功能
OK6410A 開(kāi)發(fā)板 (三) 3 u-boot-2021.01 boot 解析概覽
// 需要分析的一套過(guò)程 1.配置文件分析 2.配置過(guò)程分析 3.編譯過(guò)程分析 4.鏈接過(guò)程分析 5.生成文件分析 6.鏡像加載分析 7.鏡像運(yùn)行分析 u-boot-2021.01 配置出來(lái)了 兩個(gè)鏡像,spl(output/spl/u-boot-spl.bin)和u-boot(output/u-boot.bin) 所以有兩套過(guò)程需要分析 兩套板子 宏觀角度上 共享同一個(gè) 配置文件,同一個(gè)配置過(guò)程,同一個(gè)編譯過(guò)程,同一鏈接過(guò)程 但是可以 從微觀角度 將 配置過(guò)程,編譯過(guò)程,鏈接過(guò)程 分別分為兩個(gè) SPL 1.配置文件分析 ok6410a_mini_defconfig 中的配置中 CONFIG_SPL 開(kāi)頭的配置 是 SPL
[單片機(jī)]
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved