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在执行过程中,代码的搬移籍内存的使用情况通过一个图,来说明一下。
-
嵌入式
+关注
关注
5186文章
20146浏览量
328802 -
Uboot
+关注
关注
4文章
129浏览量
29782 -
Uboot代码
+关注
关注
0文章
3浏览量
4412
发布评论请先 登录
请问有没有用uboot引导启动过rtthread-smart的?
BB Black使用uboot启动rtt,data abort错误怎么解决?
eVTOL舱内噪声响应分析的仿真流程
求助,关于K230启动流程疑问求解
一文看懂芯片的设计流程
Linux修改uboot启动延时方法详细攻略,触觉智能RK3568开发板演示

一文分析Uboot启动流程
评论