IMX6ULL移植篇-什么是 uboot

一.  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获取

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

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

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

猜你喜欢

转载自blog.csdn.net/wojiaxiaohuang2014/article/details/131439797