一、为什么要有uboot

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

2、CP机的启动过程
(1)、部署:怎么安排;怎么配制;怎么存放;(客人到家晚上安排住宿)计算机系统的部署:内存外存功能怎么来安排(代码)
部署和启动有关系,启动是根据部署来启动的,部署在那里将来就在那里启动。
(2)典型的的PC机的部署:BIOS程序部署在PC机主板上(随主板出厂时已经预制了),操作系统部署在硬盘上,内存在掉电时不工作,
CPU在掉电时不工作;(静态的)
(3)启动过程:PC上电后先执行BIOS程序(实际上PC的BIOS就是NorFlash),BIOS程序负责初始化DDR内存,负责初始化硬盘,然后从硬盘上将OS镜像读取到DDR中,然后跳转到DDR中去执行直到启动(OS启动后BIOS就无用了)

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

总结:嵌入式系统和PC机的启动过程几乎一样,只是BIOS成了uboot,硬盘成了flash。
疑问:按朱老师所讲uboot如果部署在flash上,是无法就地运行的。
猜测1:flash应该是Norflash或者具有相同特性的存储器。
猜测2:在运行flash上的uboot前硬件多加了一块具有Norflash物理特性的存储器件来保证开启第一段程序的运行。

4、android系统启动过程
(1)android系统的启动和linux(前面讲的典型的嵌入式系统启动)几乎一样。前面完全一样,只是在内核启动后加载根文件系统后不同了。
(2)可以认为启动分为2个阶段:第一个阶段是从uboot到OS启动;第二个阶段是OS启动后到rootfs加载到命令行执行;现在我们主要研究
第一个阶段,android的启动和linux的差别在第二个阶段。
5、总结:uboot到底用来干嘛的
(1)、uboot主要作用是用来启动操作系统内核。
(2)uboot还要负责部署整个计算机系统。(如:uboot启动以后从flash里读取内核到DDR中,那是谁把内核的镜像放到flash中的
裸机刷机时用到fastboot刷机,刷机就是把uboot,内核,文件系统放到flash上。是fastboot负责放上去的,fastboot就是uboot中的一块
内容)。
(3)uboot中还有操作flash等板子上硬件的驱动。
(4)uboot还得提供一个命令行界面供人来操作。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值