1.uboot简介

本文内容来自对 《朱有鹏嵌入式linux核心课程》 学习总结

1. 为什么要有uboot

1.1 计算机系统的主要部件

(1) 计算机系统就是有 CPU 来做核心进行运行的系统。典型的计算机系统有:PC 机(台式机+笔记本),嵌入式设备(手机,平板电脑,游戏机),单片机(家用电器像电饭锅,空调)
(2) 计算机系统的组成部件非常多,不同的计算机系统组成部件也不同。但是所有的计算机系统运行时需要的主要核心部件都是 3 个东西:CPU + 外部存储器(Flash/硬盘)+ 内部存储器(DDR SDRAM/SDRAM/SRAM)

1.2 PC 机的启动过程

(1)典型的 PC 机的部署:BIOS 程序部署在 PC 机主板上(随主板出厂时已经预制了),操作系统部署在硬盘上,内存在掉电时无作用,CPU 在掉电时不工作。
(2)启动过程:PC 上电后先执行 BIOS 程序(实际上 PC 的 BIOS 就是 NorFlash),BIOS 程序负责初始化 DDR 内存,负责初始化硬盘,然后从硬盘上将 OS 镜像读取到 DDR 中,然后跳转到 DDR 中去执行 OS 直到启动(OS 启动后 BIOS 就无用了)

1.3 典型嵌入式 linux 系统启动过程

(1)嵌入式系统的部署和启动都是参考 PC 机的。只是设备上有一些差别。
(2)典型嵌入式系统的部署:uboot 程序部署在 Flash (能作为启动设备的 Flash)上,OS 部署在 Flash (嵌入式系统中用 Flash 代替了硬盘)上,内存在掉电时无作用,CPU 在掉电时不工作。
(3)启动过程:嵌入式系统上电后先执行 uboot,然后 uboot 负责初始化 DDR,初始化 Flash,然后将 OS 从 Flash 中读取到 DDR 中,然后启动 OS( OS 启动后 uboot 就无用了)。

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

1.4 android 系统启动流程

(1)android 系统的启动和 linux 系统(前面讲的典型嵌入式系统启动)几乎一样。几乎一样意思就是前面完全一样,只是在内核启动后加载根文件系统后不同了。
(2)可以认为启动分为 2 个阶段:第一个阶段是 uboot 到 OS 启动;第二个阶段 OS 启动后到 rootfs 加载到命令行执行;现在我们主要研究第一个阶段,android 的启动和 linux 的差别在第二个阶段。

1.5 总结

uboot 到底是干嘛的

(1)uboot 主要作用是用来启动操作系统内核。
(2)uboot 还要负责部署整个计算机系统。
(3)uboot 中还有操作 Flash 等板子上硬盘的驱动。
(4)uboot 还得提供一个命令行界面供人来操作。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lzg2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值