Uboot能够实现哪些功能

Uboot能够实现哪些功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

“只有客户发展了,才有我们的生存与发展!”这是成都创新互联的服务宗旨!把网站当作互联网产品,产品思维更注重全局思维、需求分析和迭代思维,在网站建设中就是为了建设一个不仅审美在线,而且实用性极高的网站。创新互联对成都网站建设、网站建设、网站制作、网站开发、网页设计、网站优化、网络推广、探索永无止境。

Uboot的来源和发展

一、Uboot的由来?

这里我们简单来了解一下Uboot的由来。Uboot一开始是由一个德国大神发起的一个项目,这个项目后面被 Wolfgang  Denk 转移到了 SourceFore.net  上来了,但是SourceForge.net上不允许以数字来开头的项目命名名称,所以改名为 PPCBoot。PPCBoot 在 2000 年 7 月 19 日 第一次被公开发布出来了;其实, Uboot 从 FADSROM、8xxROM、PPCBOOT逐步发展演化而来的。这期间被很多人使用,甚至被许多Soc(System on Chip的缩写,称为芯片级系统,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。)厂商支持,这更加推动了 Uboot的广泛使用了。最终,Uboot经过多年发展,已经成为业内 bootloader (引导程序)标准了,而且现在大部分的嵌入式设备都会默认使用 Uboot 来作为 bootloader了。

二、Uboot的版本号问题:

1、早期的 Uboot 的版本类似于这样:Uboot 1.3.4(也就是比较老的版本),但是后面版本号就不是以这种方式来命名了,而是命名成,比如:Uboot-2010.06 这样的形式了。所以我们在看到各种 Uboot的版本号时,要能够辨别出来。下面我们可以这个地方下载 Uboot 的源码,这里不是推荐去官网下载 Uboot 的源码,太慢了,这里我提供一个下载网站:https://ftp.denx.de/pub/u-boot/ ;这里有各个版本时期的 Uboot 源代码版本号 ,大家有需要可以下载学习,同时在下载的时候,注意,一般下载后缀不带 “ rc ” 的版本号,因为带 “ rc ” 的版本是不稳定的,也就是说是测试版本:

Uboot能够实现哪些功能

2、其实 Uboot 的核心部分几乎是没有改变的,尽管后面出来很多新的Uboot 版本号,只是说越新的版本支持的嵌入式开发板越来越多,所以总的来说,新版本和老版本 Uboot核心并没有差异。其实有的时候我们在看 Linux源代码的时候,看老版本的相反可能比较经典和好入门。

三、Uboot 的可移植性的理解:

1、Uboot就是 universal bootloader (通用的引导程序),意思是说,在各种地方都可以用。举个例子来说,Uboot 可以支持 嵌入式 Linux 系统的引导启动,同时它也支持 NetBSD ,VxWorks , android 等嵌入式操作系统,而且它还能支持 MIPS 、x86 等常用系列的处理器。现在一般来说,Uboot对 PowerPC 系列处理器支持最为完整丰富,对 Linux 系统支持最为完善。所以总的来说,Uboot 的可移植性非常好。

                         Uboot有哪些功能

一、自身可以开机直接启动:

一般的 Soc 都支持多种启动方式,比如说 SD 卡启动、 NorFlash  启动、NandFlash  启动  等方式,所以说,必须根据具体的SoC的启动设计来设计uboot; 而且Uboot 必须进行和硬件相对应的代码级别的更改和移植,才能够保证可以从相应的启动介质启动;Uboot 中第一阶段的 start .s 文件中具体处理了这一块。

二、能够引导操作系统内核启动并给内核传参:

Uboot的最终目的是为了启动内核;Linux 内核在设计的时候,设计为是可以被传参的,也就是说我们可以在 Uboot 中事先给 Linux 内核准备一些启动参数放在内存中特定位置,然后再传给Linux内核,Linux内核启动后就会到这个特定的位置拿 Uboot传给它的参数,然后再 Linux 内核中解析这些参数,这些参数将被用来指导 Linux内核的启动过程。

三、能够提供系统部署功能:

Uboot 必须能够被我们借助而完成整个系统 ( 这其中包括 Uboot 、Kernel 、 rootfs 等的镜像)在 Flash 上的烧录下载工作

四、能进行 Soc 级和板级硬件管理:

Uboot 中实现了一部分硬件的控制能力(Uboot中初始化了一部分硬件),这是因为 Uboot为完成一些任务必须得让这些硬件工作,比如说 Uboot 要能够实现刷机,它就必须能够驱动 iNand (iNAND 是 SanDisk 公司研发的存储芯片)。SoC 级(譬如串口)就是 SoC 内部外设,板级就是 SoC 外面开发板上面的硬件(譬如网卡、iNand)。

五、小结:

总之,Uboot 就是为了能够启动内核,让我们的操作系统跑起来。

Uboot 的生命周期

  • uboot的生命周期就是指:uboot什么时候开始运行,什么时候结束运行。

  • uboot本质上是一个裸机程序(不是操作系统),一旦uboot开始SoC就会单纯运行uboot(意思就是uboot运行的时候别的程序是不可能同时运行的),一旦uboot结束运行则无法再回到uboot(所以uboot启动了内核后uboot自己本身就死了,要想再次看到uboot界面只能重启系统。重启并不是复活了刚才的uboot,重启只是uboot的另一生)。

  • uboot的入口和出口。uboot的入口就是开机自动启动,uboot的唯一出口就是启动内核。uboot还可以执行很多别的任务(譬如烧录系统),但是其他任务执行完后都可以回到uboot的命令行继续执行uboot命令,而启动内核命令一旦执行就回不来了。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


文章名称:Uboot能够实现哪些功能
标题网址:http://csdahua.cn/article/pejohc.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流