一文分析Uboot启动流程

电子说

1.3w人已加入

描述

Uboot是嵌入式系统中最常用的bootloader,这里我们以s3c2410为例分析一下uboot的启动流程。首先通过uboot的链接文件,我们可以看到uboot运行是执行的第一段代码在start.S中。

ENTRY(_start)

SECTIONS

{

。 = 0x00000000;

。 = ALIGN(4);

.text :

{

cpu/arm920t/start.o (.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在执行过程中,代码的搬移籍内存的使用情况通过一个图,来说明一下。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分