本文是针对Uboot1.3.4 for x210来分析的,学习总结之余,也供大家参详!!!
uboot version确定(24~29)
- VERSION:主版本号
- PATCHLEVEL:次版本号
- SUBLEVEL:再次版本号
- EXTRAVERSION:另外附加的版本信息
include/version_autogenerated.h文件是编译过程中自动生成的一个文件,里面的内容就是我们在Makefile中配置的uboot的版本号
HOSTARCH和HOSTOS(31~41)
- 直接在shell中执行uname -m 得到的就是电脑CPU的版本号
- 获取 HOSTARCH(CPU架构) HOSTOS(主机系统)
静默编译(50~54)
- 编译时哦make -s ,-s会作为MAKEFLAGS传给Makefile,因此XECHO变量=echo,即输出空信息
单独输出文件夹编译(78~93)
- make O=输出目录
- export BUILD_DIR=输出目录,然后make
- 若以上两者都指定了,O=输出目录具有更高的优先级
确定OBJTREE、SRCTREE、TOPDIR
- OBJTREE: 存放编译出.o文件目录的根目录,在默认编译下,OBJTREE等于当前目录
- SRCTREE: 源码目录,源代码的根目录,当前目录
- TOPDIR: 源码目录
定义MKCONFIG变量(101)
- 其值为源码根目录下mkconfig脚本文件,是uboot配置阶段配置脚本
include $(obj)include.config.mk(133)
- include/config.mk不是源码自带的,是配置过程(make x210_sd_config)生成的
其内容:12345ARCH = armCPU = s5pc11xBOARD = x210VENDOR = samsungSOC = s5pc110
调用MKCONFIG脚本传参(2589)
|
|
- 上面代码中的依赖 unconfig其定义在(473) 实现重复配置无报错
|
|
ARCH CROSS_COMPILE
- ARCH(133) 定义当前编译的目标CPU的架构
- CROSS_COMPILE(136~180) 是定义交叉编译工具链的前缀(因为不同芯片所支持的工具链前缀都不一样,而后缀是一样的,这样定义增强程序可移植性)
- 可以在编译时用make CROSS_COMPILE=xxx来实现编译传参覆盖Makefile里面的设置
include $(TOPDIR)/config.mk(185)
- 运行其他配置,即进入config.mk文件

