现在的位置: 首页 > 综合 > 正文

Uboot启动流程(图+代码)

2014年03月15日 ⁄ 综合 ⁄ 共 811字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.