关闭

专题4-我是bootloader设计师-uboot工作流程分析+G-boot构架设计

标签: bootloader
212人阅读 评论(0) 收藏 举报
分类:

一、uboot工作流程分析

1、程序的入口

首先在uboot的Makefile中查看关键词“smdk2440”,在board/samsung(board代表开发板支持)中有个smdk2440的文件夹,里面有链接器脚本u-boot.lds,在u-boot.lds中找到代码段的第一行cpu/s3c24**/start.o,即start.S(位于cpu/s3c24**)为程序首先执行的文件,再看一下入口指令ENTRY(_start),即_start为程序的入口。
这里写图片描述

找到程序的入口后,通过分析uboot关注程序去实现了什么(看注释),而暂时不关心具体是怎么实现的。

2、第一阶段程序分析(BL1)

(B:相对跳转,不会对pc指针产生实质性的影响,只会相对修改。所以要明确链接地址(用反汇编可以查看链接地址和机器码)和pc指针值之间的区别)
这里写图片描述

3、第二阶段程序分析(BL2)
入口语句:ldr pc,start_armboot(直接修改了pc指针,跳到内存中去执行)
(略)

二、bootloader构架设计(G-boot)

第一阶段:
这里写图片描述

第二阶段:
这里写图片描述
备注:
bootm要做的事情:
1. 读取头部,把内核拷贝到合适的地方
2. 把参数给内核准备好,并告诉内核参数的首地址
3. 引导内核
bootm可以参考

http://blog.csdn.net/the_vampire_diary/article/details/13861021

0
0
查看评论

专题4-我是bootloader设计师-Souce Insight+ARM启动流程分析

一、bootloader设计蓝图 写在前面:不想当将军的士兵不是好士兵,不想当设计师的程序员不是好程序员1、bootloader的作用 就像航天器的助推器,将航天器带到指定的轨道。(启动linux内核) 代码包括两部分: 第一部分代码主要为第二部分代码做硬件准备; 第二部分代码主要完成一些...
  • lvjianxin6015
  • lvjianxin6015
  • 2017-01-02 17:21
  • 218

专题**-我是bootloader设计师

专题04-我是bootloader设计师 主目录 行业老大ubootUboot源码网站:ftp://ftp.denx.de/pub/u-boot/bootloader作用 相当于助推器,把系统带到预定轨道 嵌入式Linux系统构造:bootloader+kernel+rFSbootloade...
  • qq_36656660
  • qq_36656660
  • 2017-05-06 17:59
  • 83

Bootloader之uBoot简介(转)

来自http://blog.ednchina.com/hhuwxf/1915416/message.aspx,感谢作者 一、Bootloader的引入 从前面的硬件实验可以知道,系统上电之后,需要一段程序来进行初始化:关闭  WATCHDOG、改变系统时钟、初始化存储控制器、...
  • sadamoo
  • sadamoo
  • 2012-11-02 11:03
  • 2934

树莓派3/A20 Bootloader加载过程分析

作为一名树莓派3的玩家,可能会将会感兴趣于这个板子的启动过程,就嵌入式linux而言,整个加电——启动bootloader——启动内核——加载rootfs流程对于新手会感到非常的模糊,而不知如何下手。本篇内容尽可能详细的描述了利用superboard从加电到启动linux内核的整个操作过程,为进一步...
  • ok138ok
  • ok138ok
  • 2014-03-15 10:26
  • 8316

自己写bootloader笔记8---反汇编文件boot.dis分析

1、ldr r0, =0x4c000004 (1)对应的反汇编 33f80024:e59f0084 ldr r0, [pc, #132] ; 33f800b0 33f80024是运行地址 e59f0084是机器码 ldr r0, [pc, #132]是汇编指令编译时执行的指令 3...
  • qingkongyeyue
  • qingkongyeyue
  • 2016-08-25 22:20
  • 703

bootloader-我是bootloader设计师

一、bootloader设计蓝图 1、什么是bootloader 如果说系统内核是航天飞机的话,那么bootloader就是助推器,它带动了内核。在内核启动之前它要做许多硬件的初始化操作,来适合系统的安全启动。 2、bootloader设计方法-模仿 90%的设计从模仿开始,模仿加入自己的想...
  • bfboys
  • bfboys
  • 2016-09-04 16:21
  • 219

关于BSP,BIOS,和bootloader区别

BSP是板级支持包,是介于主板硬件和操作系统之间的一层,应该说是属于操作系统的一 部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。BSP是相对于操作 系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP 相对于某一CPU来说尽管实现的功...
  • qq_33160790
  • qq_33160790
  • 2017-01-22 18:39
  • 651

基于mips架构的uboot 启动流程 (1)

流程分析 *************************************************** 1.最开始系统上电后 ENTRY(_start)程序入口点是 _start board/mingddie/u-boot.lds 2._start: cpu/mips/start....
  • newnewman80
  • newnewman80
  • 2011-11-17 16:31
  • 7881

高通bootloader

高通的lk启动分析
  • fang_first
  • fang_first
  • 2015-11-03 14:16
  • 1999

U-Boot完美解读(前篇)——说说bootloader那些事儿

1、官方说bootloader BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启...
  • Jishu360
  • Jishu360
  • 2012-11-09 08:55
  • 4116
    个人资料
    • 访问:11869次
    • 积分:425
    • 等级:
    • 排名:千里之外
    • 原创:31篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章分类