lingyunwmr
京都医院http://www.fjzzled.com/杭州京都医院
全部博文(76)
2011年(25)
2010年(51)
jeffasda
754191
zouzx
lwl6191
yufenger
aobn
jobf
zhj8727
feixueca
gjh_1234
分类: 嵌入式
2010-10-27 14:59:09
作者:曹忠明,讲师。
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在执行过程中,代码的搬移籍内存的使用情况通过一个图,来说明一下。
上一篇:select函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
下一篇:裸机程序一 串口打印
登录 注册