U-boot的基本介绍

嵌入式技术

1330人已加入

描述

1.概述

从本文开始,将陆续推送“手把手教你移植U-boot”系列文章,目标是由浅入深地讲解U-boot的工作流程、原理、配置方法和移植方法,手把手教你完成U-boot的移植工作,默认硬件开发平台为ARM,操作系统为Linux。

作为开篇,本文主要讲述了U-boot基本介绍、源码获取、源码组成和编译方法。

2.基本介绍

U-Boot是“the Universal Boot Loader”的简称,是一个开源bootloader项目。U-Boot已经成为嵌入式Linux设备领域的事实标准,是一种主流的bootloader。

U-boot的主要功能包括:

(1)初始化硬件;

(2)支持丰富的外设驱动,可用于外设功能测试;

(3)引导操作系统启动;

(4)内置丰富的命令行功能。

U-Boot的通用体现在支持多种硬件架构和多种操作系统的引导。

支持的硬件架构包括ARC、ARM、m68k、microblaze、MIPS、Altera NIOS2、PowerPC、RISC-V、SH、x86、Xtensa等。

支持的操作系统包括Linux、NetBSD、VxWorks、QNX、RTEMS、aRTOS、LynxOS等。

3.源码获取

作为开源软件,U-boot遵循GNU General Public License许可证。U-boot源码的获取主要有3种途径:DENX代码仓库、Git代码仓库和DENX服务器。

(1)DENX代码仓库下载地址

下载界面如下:

开源

(2)Git代码仓库下载地址:

https://github.com/u-boot/u-boot

下载界面如下:

开源

Git代码仓库下载命令如下:

git 克隆 https://github.com/u-boot/u-boot.git

git 克隆 https://source.denx.de/u-boot/u-boot.git

(3)DENX的服务器代码下载地址

4.源码组成

U-boot源码目录如下:

开源

U-boot源码的主要子目录说明如下:

(1)api:不依赖于硬件、供外部应用使用的API;

(2)arch:硬件架构相关代码;

(3)board:板级相关代码;

(4)boot:启动支持相关代码;

(5)cmd:命令行功能代码;

(6)common:不依赖于硬件的功能代码;

(7)configs:板级默认配置文件;

(8)disk:disk分区处理代码;

(9)doc:参考文档;

(10)drivers:设备驱动;

(11)dts:构建内部U-Boot fdt的配置文件;

(12)env:环境变量支持;

(13)examples:独立运行的应用例程;

(14)fs:文件系统代码;

(15)include:头文件;

(16)lib:适用于所有硬件架构的库程序;

(17)Licenses:许可证文件;

(18)net:网络功能代码;

(19)post:加电自检代码;

(20)scripts:编译脚本和Makefile;

(21)test:测试相关代码;

(22)tools:工具代码。

5.编译方法

(1)首先进入根目录,使目标板的默认配置生效,命令形式如下:

制作xx_defconfig

其中,xx_defconfig位于./configs目录内。

目标板的默认配置生效后,编译配置写入了根目录下的.config文件。

(2)执行make命令,即可启动编译,在根目录下生成u-boot.bin可执行二进制文件。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分