uboot和BootLoader的区别和联系

Posted 正在起飞的蜗牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uboot和BootLoader的区别和联系相关的知识,希望对你有一定的参考价值。

1、bootLoader介绍

bootLoader是嵌入式设备中用来引导内核启动的一段代码。内核启动是需要一定条件的,当设备上电后会首先运行BootLoader,BootLoader会初始化必要的硬件,比如DDR、Flash、串口等,相关初始化完成后就会去启动内核。我的理解,BootLoader是一个概念并不是具体的代码,只要满足在设备启动初期启动内核功能的代码都可以叫做BootLoader。

2、uboot介绍

uboot(universal boot)是通用的启动代码,支持多种架构的CPU,并且是开源的。uboot是高度定制的,大致分为Soc级资源管理和板级资源管理。不同的CPU或者同款CPU不同的开发板,uboot都是不同的,要根据硬件电路进行移植。

3、uboot和bootLoader的关系

uboot是BootLoader的一个具象化的表现,uboot是BootLoader,但BootLoader不仅仅指uboot,比如bios也是属于BootLoader。但是在我们日常的嵌入式开发中,经常把BootLoader和uboot混在一起,很多时候BootLoader和uboot都指的是uboot,因为在嵌入式开发中,使用的BootLoader基本都是uboot。

4、拓展

(1)ARM架构的CPU基本都是使用uboot,X86结构的CPU基本使用bios;
(2)uboot开源,bios不开源,bios有专门的公司去开发,不像uboot一样谁都可以去下载源码进行开发;

以上是关于uboot和BootLoader的区别和联系的主要内容,如果未能解决你的问题,请参考以下文章

uboot研读笔记 | 00 - 嵌入式Linux系统中Bootloader的作用和基本运行原理

[架构之路-26]:目标系统 - 系统软件 - bootloader uboot使用方法常用命令

如何进入uboot菜单

linux内核编译ImagezImageuImage的区别和联系

有备份怎么恢复uboot

嵌入式Linux之uboot移植