ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

系统移植篇01:U-boot使用实验的准备

2021-05-24 17:33:44  阅读:242  来源: 互联网

标签:01 uboot NXP Boot boot 源码 imx bootloader 移植


系统移植篇01:U-boot使用实验的准备

在移植U-Boot之前,我们肯定要先使用一下U-Boot,得先体验一下U-Boot是个什么东西。
I.MX6U-ALPHA 开发板资料里面已经提供了一个已经移植好的 U-Boot,

本章我们就直接编译这个移植好的 U-Boot,然后烧写到 SD 卡里面启动,启动 U-Boot 以后就可
以学习使用 U-Boot 的命令。

1.U-boot简介:

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

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

当然了,bootloader 的实际工作要复杂的多,但是它最主要的工作就是启动 Linux 内核,bootloader 和 Linux 内核的关系就跟 PC 上的 BIOS 和 Windows 的关系一样,bootloader 就相当于 BIOS。所以我们要先搞定bootloader,很庆幸,有很多现成的 bootloader 软件可以使用,比如 U-Boot、vivi、RedBoot 等等,其中以 U-Boot 使用最为广泛,为了方便书写,本书会将 U-Boot 写为 uboot。

uboot 的全称是 Universal Boot Loader,uboot 是一个遵循 GPL 协议的开源软件,uboot 是一
个裸机代码,可以看作是一个裸机综合例程。现在的 uboot 已经支持液晶屏、网络、USB 等高
级功能。uboot 官网为 http://www.denx.de/wiki/U-Boot/,如图所示:
在这里插入图片描述
我们可以在 uboot 官网下载 uboot 源码,点击图 30.1.1 中左侧 Topics 中的“Source Code”,
打开如图 所示界面:
在这里插入图片描述
点击图 30.1.2 中的“FTP Server”,进入其 FTP 服务器即可看到 uboot 源码,如图 所
示:
在这里插入图片描述
图 中就是 uboot 原汁原味的源码文件,目前最新的版本是 2019.04。但是我们一般不会直接用 uboot 官方的 U-Boot 源码的。
uboot 官方的 uboot 源码是给半导体厂商准备的,半导体厂商会下载 uboot 官方的 uboot 源码,然后将自家相应的芯片移植进去。也就是说半导体厂商会自己维护一个版本的 uboot,这个版本的 uboot 相当于是他们定制的。既然是定制的,那么肯定对自家的芯片支持会很全,虽然 uboot 官网的源码中一般也会支持他们的芯片,但是绝对是没有半导体厂商自己维护的 uboot 全面。

NXP 就 维 护 的 2016.03 这 个 版 本 的 uboot , 下 载 地 址 为 :
http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/tag/?h=imx_v2016.03_4.1.15_2.0.0_ga&id=
rel_imx_4.1.15_2.1.0_ga,下载界面如图 所示:
在这里插入图片描述
图 30.1.4 中的 uboot-imx_rel_imx4.1.15_2.1.0_ga.xx(xx 为 zip、tar.gz 或 tar.bz2)就是 NXP 官
方维护的 uboot,后面我们学习 uboot 移植的时候就是使用的图 30.1.4 中的 uboot,下载 uboot-
imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2。

图中的uboot基本支持了NXP当前所有可以跑Linux的芯片,而且支持各种启动方式,比如EMMC、
NAND、NOR FLASH 等等,这些都是 uboot 官方所不支持的。但是图 30.1.4 中的 uboot 是针对
NXP 自家评估板的,如果是我们自己做的板子就需要修改 NXP 官方的 uboot,使其支持我们自
己做的板子,I.MX6U 开发板就是自己做的板子,虽然大部分都参考了 NXP 官方的I.MX6ULL EVK 开发板,但是还是有很多不同的地方,所以需要修改 NXP 官方的 uboot,使其适配我们的 I.MX6U 开发板。所以当我们拿到开发板以后,是有三种 uboot 的,这三种 uboot的区别如表所示:
在这里插入图片描述

标签:01,uboot,NXP,Boot,boot,源码,imx,bootloader,移植
来源: https://blog.csdn.net/weixin_40734514/article/details/117227404

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有