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在执行过程中,代码的搬移籍内存的使用情况通过一个图,来说明一下。
-
嵌入式
+关注
关注
5056文章
18954浏览量
301649 -
Uboot
+关注
关注
4文章
125浏览量
28122 -
Uboot代码
+关注
关注
0文章
3浏览量
4267
发布评论请先 登录
相关推荐
评论