Uboot是嵌入式系统中常用的引导加载器。 现在,我们以s3c2410为例分析一下Uboot的启动过程。 首先,从uboot链接文件中可以看到start.S中有第一个执行uboot的代码。
输入(_开始)。
第二阶段
{
.=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运行中代码的转会内存的使用情况。