前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Uboot学习(一)之为啥要有Uboot这玩意

Uboot学习(一)之为啥要有Uboot这玩意

作者头像
用户6280468
发布2022-03-21 09:38:11
7300
发布2022-03-21 09:38:11
举报
文章被收录于专栏:txp玩Linux

这周又一段时间没怎么写文章了,这周上班接触的东西有点多,每天都在接受挑战。维护公司移动app界面,设计到的技术是css、html、javascript。然后把写好的app程序通过threadx和Linux两个系统的支持(Linux内核版本是在3.10版本的,在安霸和海思平台);第一次搭建编译环境(这里跟平时学的环境有比较大的出路,作者被骂了好几次,终于是成功了,呜呜。。。),然后实时在PC或者手机端采集实时视频监控。后期会不断学习和分享自己在工作当中的一些经验给大家,希望对大家有帮助。今天开始写Uboot的文章和Linux驱动的文章。之前Linux应用的文章全部在公众号后台有。以上学习过程中,作者是学习朱有鹏老师的嵌入式课程。

一、为什么要有Uboot?

1、计算机系统的主要部件:

计算机系统就是 CPU 来做核心进行运行的系统。典型的计算机系统有:PC机(台式机+笔记本)、嵌入式设备(手机、平板电脑、游戏机)、单片机(家用电器);当然对于计算机系统的理解,可以把比喻成管理岗位上的管理者,因为当一个公司初创的时候,可能不需要怎样管理和运营,但是当公司慢慢发展壮大,如果还是原来那样的运营模式,那肯定是不行的,现在时代都讲究效率,每个员工在公司里面扮演着不同的角色,也就承担不同的岗位职责,所以这个时候就需要好的管理;把这种思想联想到计算机的操作系统上来,就可以理解计算机系统的重要作用了。

2、计算机系统的组成部件非常多,不同的计算机系统组成部件也不同。但是所有的计算机运行时需要的主要核心部件都是这三个东西,我们也比较熟悉:

  • CPU
  • 外部存储器(flash/硬盘)
  • 内部存储器(DDR SDRAM SDRAM SRAM)

二、PC机的启动过程:

1、典型的PC机的部署:BIOS程序部署在 PC 机主板上(随主板出厂时已经预制了),操作系统部署在硬盘上,内存在掉电时无作用,CPU在掉电时不工作。

2、启动过程:PC上电后先执行BIOS程序(实际上PC的BIOS就是NorFlash),BIOS程序负责初始化DDR内存,负责初始化硬盘,然后从硬盘上将OS镜像读取到DDR中,然后跳转到DDR中去执行OS直到启动(OS启动后BIOS就无用了)。

三、典型嵌入式linux系统启动过程:

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

2、典型嵌入式系统的部署:uboot程序部署在Flash(能作为启动设备的Flash)上、OS部署在FLash(嵌入式系统中用Flash代替了硬盘)上、内存在掉电时无作用,CPU在掉电时不工作。

3、启动过程:嵌入式系统上电后先执行uboot、然后uboot负责初始化DDR,初始化Flash,然后将OS从Flash中读取到DDR中,然后启动OS(OS启动后uboot就无用了)

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

四、android系统启动过程:

1、android系统的启动和linux系统(前面讲的典型的嵌入式系统启动)几乎一样。几乎一样意思就是前面完全一样,只是在内核启动后加载根文件系统后不同了。

2、可以认为启动分为2个阶段:第一个阶段是uboot到OS启动;第二个阶段是OS启动后到rootfs加载到命令行执行;现在我们主要研究第一个阶段,android的启动和linux的差别在第二阶段。

五、总结:

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

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

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

4、uboot还得提供一个命令行界面供人来操作。

  • 今天的文章内容先给大家介绍到这里了,主要是先了解一下为什么要有Uboot以及简单的了解一下它的作用
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 txp玩Linux 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档