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在执行过程中,代码的搬移籍内存的使用情况通过一个图,来说明一下。
-
嵌入式
+关注
关注
5103文章
19268浏览量
310022 -
Uboot
+关注
关注
4文章
126浏览量
28477 -
Uboot代码
+关注
关注
0文章
3浏览量
4305
发布评论请先 登录
相关推荐
芯片失效分析的方法和流程
迅为RK3562开发板Android源码定制开发-uboot开发
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-Linux内核移植之内核启动流程
飞凌嵌入式ElfBoard ELF 1板卡-Linux内核移植之内核启动流程
一文搞懂软核的固化、启动和MultiBoot实现

AMD Versal自适应SoC CPM5 QDMA的Tandem PCIe启动流程介绍

官方,2K0300支持SD启动系统吗?
求助,关于TRAVEO MCU闪存启动流程的问题求解
如何将SD卡众多文件打包成一个.img文件方便一键烧写呢?

评论