0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文分析Uboot启动流程

如意 来源:CSDN 作者:曹忠明 2020-06-20 10:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

    关注

    5209

    文章

    20664

    浏览量

    337124
  • Uboot
    +关注

    关注

    4

    文章

    132

    浏览量

    30039
  • Uboot代码
    +关注

    关注

    0

    文章

    3

    浏览量

    4427
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ROC rk3588s PC的uboot命令行的启动

    到了 Ubuntu 启动流程。根据您的 Wiki 指导,我曾尝试在启动时通过串口终端反复按下 Ctrl+C、空格等按键,但始终无法进入 U-Boot 命令行。我怀疑是 U-Boot 环境变量中的 bootdelay
    发表于 04-06 21:40

    视频卡顿分析流程

    视频卡顿分析流程
    发表于 11-10 16:55 0次下载

    d1哪吒开发板的启动流程分析

    启动。 5.裸机程序的编写 在分析了上述SPL和opensbi的启动流程后,自行编译个简单的裸机程序就容易许多。从
    发表于 10-29 06:44

    请问有没有用uboot引导启动过rtthread-smart的?

    通过uboot引导,在imx6ull开发板上启动rtthread-smart,通过thtp从网口下载到内存后,用go命令无法启动,且没有额外的打印消息,有没有遇到同样问题的?这个该怎么解决
    发表于 09-28 10:50

    BB Black使用uboot启动rtt,data abort错误怎么解决?

    编译通过,生成了rtthread.bin。把他复制到uboot的FAT分区,按照目录下的uboot_cmd.txt的命令,把rtthread.bin加载到DDR,然后启动的时候出现如下错误,单板重新
    发表于 09-28 06:45

    eVTOL舱内噪声响应分析的仿真流程

    节中介绍了eVTOL旋翼噪声的表征以及通过声学BEM模型分析旋翼噪声到eVTOL机体外表面的噪声传播分析流程,本节将在上节内容的基础上继续介绍eVTOL舱内噪声响应
    的头像 发表于 09-23 14:06 841次阅读
    eVTOL舱内噪声响应<b class='flag-5'>分析</b>的仿真<b class='flag-5'>流程</b>

    求助,修复使用uboot时NAND启动停止的问题求解

    修复使用 uboot 时 NAND 启动停止的问题
    发表于 09-01 07:08

    详解晶圆加工的基本流程

    晶棒需要经过系列加工,才能形成符合半导体制造要求的硅衬底,即晶圆。加工的基本流程为:滚磨、切断、切片、硅片退火、倒角、研磨、抛光,以及清洗与包装等。
    的头像 发表于 08-12 10:43 5578次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>详解晶圆加工的基本<b class='flag-5'>流程</b>

    求助,关于K230启动流程疑问求解

    proper,然后再启动opensbi,再启动linux 内核,为什么要将opensbi放在uboot proper的后面启动,这样做的好处是啥? 目前
    发表于 07-11 06:42

    基于瑞萨64位MPU RZ/G2L的uboot串口多波特率支持介绍

    本文主要介绍基于瑞萨64位MPU RZ/G2L,讨论uboot下非常规波特率115200的支持方法,用于解决客户对uboot下特殊波特率的需求,供客户参考。
    的头像 发表于 07-04 15:54 3244次阅读
    基于瑞萨64位MPU RZ/G2L的<b class='flag-5'>uboot</b>串口多波特率支持介绍

    看懂芯片的设计流程

    引言:前段时间给大家做了芯片设计的知识铺垫(关于芯片设计的些基本知识),今天这篇,我们正式介绍芯片设计的具体流程。芯片分为数字芯片、模拟芯片、数模混合芯片等多种类别。不同类别的设计流程也存在
    的头像 发表于 07-03 11:37 3028次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>看懂芯片的设计<b class='flag-5'>流程</b>

    详解线性稳压器IC的软启动

    在输入电源导通(启动)时,通过在定时间内逐步提升输出电压,可以抑制为输出电容器充电时流过的浪涌电流的最大值,这就是采用软启动的主要目的。
    的头像 发表于 06-12 11:09 1593次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>详解线性稳压器IC的软<b class='flag-5'>启动</b>

    Linux修改uboot启动延时方法详细攻略,触觉智能RK3568开发板演示

    本文介绍Linux系统修改uboot启动延时方法,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持开源鸿蒙
    的头像 发表于 06-06 18:07 1125次阅读
    Linux修改<b class='flag-5'>uboot</b><b class='flag-5'>启动</b>延时方法详细攻略,触觉智能RK3568开发板演示

    飞凌嵌入式ElfBoard ELF 1板卡-uboot启动流程分析uboot启动阶段

    uboot启动可分为汇编语言执行和C语言执行两个阶段,两个阶段以_main函数为分界。uboot阶段由_start (arch/arm/lib/vectors.S)进入,然后跳转到
    发表于 05-30 09:24

    飞凌嵌入式ElfBoard ELF 1板卡-uboot启动流程分析之boot ROM阶段

    CPU上电之后执行的第段代码并不是uboot代码,因为uboot存储在启动介质(存储介质),如eMMC Flash、NAND Flash、SD卡,CPU想要执行
    发表于 05-28 10:01