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

Uboot启动流程分析相关推荐

  1. Exynos4412 Uboot 移植(二)—— Uboot 启动流程分析

    uboot启动流程分析如下: 第一阶段: a -- 设置cpu工作模式为SVC模式 b -- 关闭中断,mmu,cache v -- 关看门狗 d -- 初始化内存,串口 e -- 设置栈 f -- ...

  2. 基于IMX6Q的uboot启动流程分析(3):_main函数之relocate_code与board_init_r

    基于IMX6Q的uboot启动流程分析(1):uboot入口函数 基于IMX6Q的uboot启动流程分析(2):_main函数之board_init_f 基于IMX6Q的uboot启动流程分析(3): ...

  3. u-boot启动流程分析

    u-boot启动流程分析 以smdk2410为例,分析u-boot的启动流程.u-boot的启动流程是指从cpu上电开机执行u-boot到u-boot成功加载完操作系统的过程.这一过程可以分为两个阶段 ...

  4. linux uboot启动流程分析,uboot启动流程分析

    uboot版本为NXP维护的2016.03版本 下载地址为http://git.freescale.com/git/... 分析uboot的启动流程,需要编译一下uboot,然后打开链接脚本 u-bo ...

  5. am335x uboot启动流程分析

    基本指令含义 .globl _start .globl指示告诉汇编器,_start这个符号要被链接器用到,所以要在目标文件的符号表中标记它是一个全局符号 b,bl b是不带返回的跳转  bl带返回的跳 ...

  6. u-boot启动流程分析(1)_平台相关部分

    转自:http://www.wowotech.net/u-boot/boot_flow_1.html 1. 前言 本文将结合u-boot的"board->machine->arc ...

  7. U-BOOT学习之2014.4版Uboot启动流程分析

    一.前言 老大给我布置了一个任务:某某项目uboot开发之usb增强ic驱动. 不知道大家看到这个任务懵不懵,反正我最开始是蒙的.后来又问了一下,才明白到底要做啥. 任务是这样的:因为这个项目的usb ...

  8. Uboot 启动流程分析

    uboot启动流程 复位CPU 设置异常向量表 设置cpu为SVC模式 但是从U-Boot方面考虑,其要做的事情是初始化系统的相关硬件资源,因此需要获取尽量多的权限,以方便操作硬件,初始化硬件. 关闭 ...

  9. 2014.4新版uboot启动流程分析

    原文 http://blog.csdn.net/skyflying2012/article/details/25804209 此处转载有稍作修改 最近开始接触uboot,现在需要将2014.4版本ub ...

最新文章

  1. lstm 和自注意力机制 bert 本质区别的思考历程
  2. 石川es6课程---13-16、generator-认识生成器函数
  3. 腾讯云yum操作实现CentOS 7.6 64位Linux系统图形界面的安装和vnc的搭建
  4. 域对抗自适应算法的设计、不足与改进(Domain Adversarial Learning)
  5. ios html 转义字符串,ioS html的转义
  6. easyui datagrid 中怎么选中所有页面的数据_学会这5个Excel中常用技巧,可以准时下班去摆摊了...
  7. py2中存储的pickle和py3中pickle无法读取的兼容性问题解决方案
  8. 分享一套基于SpringBoot和Vue的企业级中后台开源项目,代码很规范!
  9. windows交互式登陆
  10. 基于AD09的四层板设计概要
  11. cloudcompare:怎么换背景颜色
  12. 脉冲响应函数方差分解Eviews
  13. Win10/edge主页被360,hao123篡改主页问题解决办法2022
  14. [嵌入式学习]arm开发板通过NFS(网络文件系统)快捷访问和操作Ubuntu文件系统
  15. 螺旋城的灾难完全攻略及地图
  16. Python基础——PyCharm版本——第八章、文件I/O(核心2——JSON序列化与反序列化——超重点)
  17. chrome扩展程序安装_如何将扩展程序从一个Chrome安装复制到另一个安装?
  18. Catia V5-6R2016软件安装教程——附下载地址
  19. 2016计蒜之道初赛第一场----A青云的服务器密钥【贪心】
  20. js设置,获取,删除属性(setAttribute, getAttribute, removeAttribute)

热门文章

  1. boost::phoenix::switch_相关的测试程序
  2. boost::hana::is_nothing用法的测试程序
  3. boost::all_degree_centralities用法的测试程序
  4. boost::coroutine模块实现合并数组的测试程序
  5. ITK:将ITK灰度图像转换为CV :: Mat
  6. VTK:Shaders之BozoShader
  7. VTK:Qt之RenderWindowUISingleInheritance
  8. VTK:几何对象之Cylinder
  9. Qt Creator指定依赖项
  10. OpenGL 四边形渲染的实例