IMX6ULL移植篇-什么是 uboot

U-Boot是一款广泛应用的bootloader,负责初始化硬件并加载Linux内核到内存中。它支持多种架构且可启动不同系统。半导体厂商和开发板厂商通常会对官方U-Boot进行定制,以优化对特定芯片和开发板的支持。
摘要由CSDN通过智能技术生成

一.  uboot 简介

有很多现成的 bootloader 软件可以使用,比如uboot、vivi、RedBoot 等等,其中以 U-Boot 使用最为广泛。

bootloader 的最主要的工作就是启动 Linux 内核

二.  uboot

Linux 系统要启动就必须需要一个 bootloader 程序(uboot 就是一个 bootloader),也就说芯片上电以后先运行一段

bootloader 程序这段 bootloader 程序会先初始化 DDR等外设(因为 Linux是运行在 DDR里面),然后将 Linux内核从flash(NAND, NOR FLASH,SD,MMC 等)拷贝到 DDR 中,最后启动 Linux 内核。

(一般Linux镜像zImage(uImage)+设备树(.dtb)存放在SD、EMMC、NAND、SPI FLASH等等外置存储区域。)

uboot的作用

Uboot的主要目的就是为系统的启动做准备。

Uboot不仅仅能启动Linux,也可以启动其他系统,比如vxworks。

Linux不仅仅能通过uboot启动。

Uboot是个通用的bootloader,他支持多种架构。

Uboot获取

uboot有三种来源:

种类描述
uboot 官方的 uboot 代码
uboot 官方维护开发的 uboot 版本,版本更新快,基本包含所有常用的芯片。
半导体厂商的 uboot 代码
半导体厂商维护的一个 uboot ,专门针对自家的芯片,在对自家芯片支持上要比 uboot 官方的好。
开发板厂商的 uboot 代码
开发板厂商在半导体厂商提供的 uboot 基础上加入了对自家开发
板的支持。

所以,uboot的获取有三种来源:

1.  首先就是uboot官网。缺点就是支持少,比如某一款具体芯片驱动等不完善。

2. SOC厂商会从uboot官网下载某一个版本的uboot,然后在这个版本的uboot上加入相应的SOC以及驱动。这就是SOC厂商定制版的uboot。NXP官方的I.MX6ULL EVK板子,

3. 做开发板的厂商,开发板会参考SOC厂商的板子。开发板必然会和官方的板子不一样。因此开发板厂商又会去修改SOC厂商做好的uboot,以适应自己的板子。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值