Uboot是嵌入式系統中最常用的bootloader,這里我們以s3c2410為例分析一下uboot的啟動流程。首先通過uboot的鏈接文件,我們可以看到uboot運行是執行的第一段代碼在start.S中。
ENTRY(_start)
SECTIONS
{
。 = 0x00000000;
。 = ALIGN(4);
.text :
{
*(.text)
}
。 = ALIGN(4);
.rodata : { *(.rodata) }
。 = ALIGN(4);
.data : { *(.data) }
。 = ALIGN(4);
.got : { *(.got) }
。 = 。;
__u_boot_cmd_start = 。;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = 。;
。 = ALIGN(4);
__bss_start = 。;
.bss : { *(.bss) }
_end = 。;
}
我們找到這個文件,以這個文件為起點看uboot的啟動流程。這里我們通過一個圖來說明這個過程。
最后我們把整個uboot在執行過程中,代碼的搬移籍內存的使用情況通過一個圖,來說明一下。
-
嵌入式
+關注
關注
5094文章
19181瀏覽量
307747 -
Uboot
+關注
關注
4文章
125瀏覽量
28351 -
Uboot代碼
+關注
關注
0文章
3瀏覽量
4291
發布評論請先 登錄
相關推薦
迅為RK3562開發板Android源碼定制開發-uboot開發
嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-Linux內核移植之內核啟動流程
飛凌嵌入式ElfBoard ELF 1板卡-Linux內核移植之內核啟動流程
ADC_PRO能分析其用其他方式保存的文數據嗎?
一文搞懂軟核的固化、啟動和MultiBoot實現
![<b class='flag-5'>一</b><b class='flag-5'>文</b>搞懂軟核的固化、<b class='flag-5'>啟動</b>和MultiBoot實現](https://file1.elecfans.com/web3/M00/01/6D/wKgZPGdTwJaASYpBAAAb8Xf5sFU700.png)
AMD Versal自適應SoC CPM5 QDMA的Tandem PCIe啟動流程介紹
![AMD Versal自適應SoC CPM5 QDMA的Tandem PCIe<b class='flag-5'>啟動</b><b class='flag-5'>流程</b>介紹](https://file1.elecfans.com/web2/M00/07/A1/wKgaombqNhqAHonqAAHwYlZwzzw387.jpg)
官方,2K0300支持SD啟動系統嗎?
求助,關于TRAVEO MCU閃存啟動流程的問題求解
如何將SD卡眾多文件打包成一個.img文件方便一鍵燒寫呢?
![如何將SD卡眾多文件打包成<b class='flag-5'>一</b>個.img文件方便<b class='flag-5'>一</b>鍵燒寫呢?](https://file1.elecfans.com/web2/M00/C9/9B/wKgaomYeNxKAL2JJAAAhyT8XPGg675.png)
評論