uboot构建框架1-总览

本文介绍了米尔科技imx6ull单板机uboot的编译环境,包括uboot版本、编译器等。给出了编译uboot的命令,如make distclean、make mys_imx6ull_14x14_nand_defconfig等。还提及了配置命令make menuconfig和帮助命令make help,并表示后续将深入分析kbuild框架、各命令过程追踪等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

uboot版本:2016.03

开发板:米尔科技imx6ull单板机

编译器:arm-poky-linux-gnueabi-gcc,version5.3.0。由yocto SDK编译生成。

编译器的安装和生效,请参考米尔开发板的手册。安装完编译器之后,我们source一下环境即可:

source environment-setup-cortexa7hf-neon-poky-linux-gnueabi

至此,环境变量里面就设置了一些主要变量,我们列出几个最为重要的变量:

CC=arm-poky-linux-gnueabi-gcc  -march=armv7ve -marm -mfpu=neon  -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/sunke/work/fslImageQt5Sdk/sysroots/cortexa7hf-neon-poky-linux-gnueabi
ARCH=arm
RANLIB=arm-poky-linux-gnueabi-ranlib
OBJCOPY=arm-poky-linux-gnueabi-objcopy
LD=arm-poky-linux-gnueabi-ld  --sysroot=/home/sunke/work/fslImageQt5Sdk/sysroots/cortexa7hf-neon-poky-linux-gnueabi
PWD=/home/sunke/work/MYiR-iMX-uboot
STRIP=arm-poky-linux-gnueabi-strip

这样,CC指定为我们使用的交叉编译器,体系结构ARCH指定为arm。

根据米尔科技提供的说明手册,编译uboot使用如下几个命令:

sunke@droresrv:~/work/MYiR-iMX-Uboot$ make distclean

sunke@droresrv:~/work/MYiR-iMX-Uboot$ make mys_imx6ull_14x14_nand_defconfig

sunke@droresrv:~/work/MYiR-iMX-Uboot$ make

最后会编译生成u-boot.imx,u-boot.bin等文件,u-boot.imx可以用来烧写nandflash。

以上命令看起来非常简洁,第一个和第三个基本上不用过多解释,学过make脚本的都会比较清楚。那么第二个命令主要做了什么事情呢?第二个命令产生的结果又是怎么样的?带着这些问题,我们来深入挖掘一下uboot的构建框架。

以上三个命令是米尔手册里面提供的编译指令,实际上,我们也清楚,编译uboot、kernel之前可以进行配置,我们熟悉的一个配置命令是:

sunke@droresrv:~/work/MYiR-iMX-Uboot$ make menuconfig

这条命令会打开一个简易的图形配置界面,大体形态如下:

在这个配置界面中,可以根据自己的需要,对各种选项进行配置。配置完成之后,会生成一个配置文件,最终make的时候,会根据这个配置文件来选择编译哪些文件以及打开关闭哪些特性。至于这里面的具体细节,后面会进行详细分析。

还有一个比较重要的命令是:

sunke@droresrv:~/work/MYiR-iMX-Uboot$ make help

该命令可以查看所有的帮助信息。说来也正常,没有这么一个帮助信息,谁能记得住那么多命令功能。该命令输出大致如下:

这里面看起来命令众多,但我们不一一分析,因为当我们把几个主要的命令了解之后,剩下的很容易举一反三,自己看看就会了。所以,接下来我们需要深入分析以下几个方面的内容,可以按顺序阅读:

(1)kbuild框架简要分析

(2)make menuconfig命令的过程追踪

(3)make *defconfig命令的过程追踪

(4)配置文件和make过程是如何联系起来的

(5)u-boot.bin生成过程追踪

(6)u-boot.imx生成过程追踪

(7)built-in.o的编译过程追踪

(8)目标文件(.o)的编译过程追踪;

(9)make distclean命令的过程追踪;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值