为什么要有 uboot ?


Part1:计算机的主要部件

  1. 计算机系统是由CPU来做核心进行运行的系统。

    典型的计算机系统有:

    1. PC机:台式机、笔记本
    2. 嵌入式设备:手机、平板电脑、游戏机
    3. 单片机:家用电器像电饭锅、空调
  2. 计算机系统的组成部件非常多 ,不同计算机的组成部件也不同。

    但是所有的计算机系统运行时都需要的主要核心部件都是三个东西:

    1. CPU
    2. 外部存储器(Flash/ 硬盘)
    3. 内部存储器(DDR SDRAM/ SDRAM/ SRAM

Part2:PC机的启动过程

  1. 典型的PC机的部署:

    BIOS程序部署在PC机主板上(随主板出厂时就已经预制了
    操作系统部署在硬盘上

    内存在掉电时无作用,CPU在掉电时不工作

  2. 启动过程:

    PC上电后先执行BIOS程序(实际上PCBIOS保存在NorFlash

    BIOS程序负责初始化DDR内存和硬盘
    然后从硬盘上将OS(操作系统)镜像读取到DDR
    然后跳转到DDR中去执行OS直到启动

    Tips:OS启动后BIOS就无用了


Part3:典型嵌入式Linux系统启动过程

  1. 嵌入式系统的部署和启动都是参考的PC机的,只是设备上有一些差别。

  2. 典型嵌入式系统的部署:

    uboot程序部署在Flash(能作为启动设备的Flash上)
    OS部署在Flash(嵌入式系统中使用了Flash代替了硬盘)

    内存在掉电时无作用
    CPU在掉电时不工作

  3. 启动过程:

    嵌入式系统上电后先执行uboot

    然后uboot负责初始化DDRFlash
    然后从Flash中将OS(操作系统)镜像读取到DDR
    然后跳转到DDR中去执行OS直到启动

    Tips:OS启动后uboot就无用了

  4. 总结:

    嵌入式系统和PC机的启动过程几乎没有两样,只是BIOS成了uboot,硬盘成了Flash


Part4:Android系统启动过程

  1. Android系统的启动和Linux系统(前面讲的典型的嵌入式系统启动)几乎一样。

    几乎一样意思就是前面完全一样,只是在内核启动后加载根文件系统不同了。

  2. 可以认为启动分为两个阶段:

    第一个阶段是uboot到OS启动
    第二个阶段是OS启动后到rootfs加载到命令行执行

    Tips: 现在我们主要研究第一个阶段,AndroidLinux启动的差别在第二阶段。


总结:uboot到底是干嘛的

  1. uboot主要作用是用来启动操作系统内核的。

  2. uboot还主要负责部署整个计算机系统。

  3. uboot中还有操作Flash等板子上硬盘的驱动。

  4. uboot还得提供一个命令行界面供人机交互。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值