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

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

    关注

    5096

    文章

    19199

    浏览量

    308274
  • Uboot
    +关注

    关注

    4

    文章

    126

    浏览量

    28378
  • Uboot代码
    +关注

    关注

    0

    文章

    3

    浏览量

    4291
收藏 人收藏

    评论

    相关推荐

    迅为RK3562开发板Android源码定制开发-uboot开发

    1.1 uboot 开发 Uboot 源码是 v2017.09 版本。目前在该平台上已经支持 RK 所有主流在售芯片。支持的功能主要有:  支持 RK Android 固件启动;  支持
    发表于 02-07 11:12

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-Linux内核移植之内核启动流程

    关于内核启动流程涉及内容较多而且复杂,过度的分析意义不大,因此,这里不做详细讲解,只做个大概的介绍。初学者只做了解,有定基础的可以深入理
    发表于 01-07 09:20

    飞凌嵌入式ElfBoard ELF 1板卡-Linux内核移植之内核启动流程

    关于内核启动流程涉及内容较多而且复杂,过度的分析意义不大,因此,这里不做详细讲解,只做个大概的介绍。初学者只做了解,有定基础的可以深入理
    发表于 01-06 09:51

    ADC_PRO能分析其用其他方式保存的数据吗?

    ADC_PRO 能分析其用其他方式保存的数据吗?? 如我自己用其他方式保存的数据 还有官网的 ADC_PRO 无法下载
    发表于 12-20 07:57

    搞懂软核的固化、启动和MultiBoot实现

    这也是《FPGA实现串口升级及MultiBoot》系列中的篇文章,作为个专题单独出来说明。 本篇文章分为三个主题:固化、启动和MultiBoot实现。 固化分为SPI和BPI FLASH两种情况
    的头像 发表于 12-07 11:23 805次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>搞懂软核的固化、<b class='flag-5'>启动</b>和MultiBoot实现

    读懂MSA(测量系统分析)

    读懂MSA(测量系统分析)
    的头像 发表于 11-01 11:08 1127次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>读懂MSA(测量系统<b class='flag-5'>分析</b>)

    嵌入式系统的启动流程

    嵌入式系统的启动流程个复杂但有序的过程,它涉及从系统上电到操作系统内核及应用程序启动的多个阶段。
    的头像 发表于 10-05 17:44 514次阅读

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

    本文将从硬件设计和驱动使用两个方面介绍基于 CPM5 QDMA 的 AMD Versal 自适应 SoC 的 Tandem 设计和启动流程
    的头像 发表于 09-18 10:07 720次阅读
    AMD Versal自适应SoC CPM5 QDMA的Tandem PCIe<b class='flag-5'>启动</b><b class='flag-5'>流程</b>介绍

    串口屏ModBus开发流程

    这里接前章节,继续迪屏的开发,前章主要讲解基础开发流程,此章节开始讲解迪ModBus协议栈的使用方法。前文指路:《迪串口屏基础GUI
    的头像 发表于 07-19 08:21 616次阅读
    迪<b class='flag-5'>文</b>串口屏ModBus开发<b class='flag-5'>流程</b>

    官方,2K0300支持SD启动系统吗?

    般的开发板,都支持SD卡启动系统 1 查看网盘中的06-用户手册中的广东龙芯2K300蜂鸟板用户手册V0.96档,发现板卡上有个SD卡座 2查看了网盘中的07-芯片手册,只有2K
    发表于 07-11 18:17

    求助,关于TRAVEO MCU闪存启动流程的问题求解

    我有个关于 TRAVEO MCU 闪存启动流程的问题。 Q) 架构 TRM - 34.3.3 闪存启动流程,(6)、(8)、(9)、(10
    发表于 05-30 06:25

    Linux启动流程基本分析

    Linux启动流程总的来说可以分成三个阶段 Linux启动流程图   第步:上电 Ø在 x86 系统中,将 1M 空间最上面的 0xF00
    的头像 发表于 05-11 08:49 793次阅读
    Linux<b class='flag-5'>启动</b><b class='flag-5'>流程</b>基本<b class='flag-5'>分析</b>

    如何将SD卡众多文件打包成个.img文件方便键烧写呢?

    手动分成3分区(fat32、raw 和ext3),然后将preloader 、uboot、kernel、rootfile、rbf、dtb、 uboot.scr 文件拷贝到不同的分区,最后插到DE10-Nano 开发板进行启动
    的头像 发表于 04-16 16:28 1739次阅读
    如何将SD卡众多文件打包成<b class='flag-5'>一</b>个.img文件方便<b class='flag-5'>一</b>键烧写呢?

    解析DARM工艺流程

    DRAM(动态随机存取存储器)的工艺流程包括多个关键步骤。
    发表于 04-05 04:50 6262次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>解析DARM工艺<b class='flag-5'>流程</b>

    stm32mp157在uboot阶段启动m4程序存在的问题求解

    写了个stm32mp157的m4程序,需要在uboot阶段就去启动这个程序,现在存在两个问题。 1、程序内包含了双核通信的部分,因此这部分的初始化肯定是要等到linux系统内核初始化完成之后才可能
    发表于 03-21 08:00