U-boot移植之配置编译Makefile分析

时间:2023-01-16 21:37:40

这篇文章具体说说U-boot 2009.11 配置和编译的一些细节

前面两篇文章主要是有一个感性的认识,用的官网提供的补丁,没有过多的提及U-boot内部的细节,用的是U-Boot 1.1.6。
从这篇文章开始才是真正意义上的移植U-boot,基于U-boot 2009.11
参考书籍有:《深度实践嵌入式Linux系统移植》、《Linux系统移植》等等

我将按照以下几个步骤分析Makefile ?

一:Makefile重要变量一览表,删除Makefile一些无关的信息。

二:make JZ2440_config 配置过程分析。

三:Makefileb编译过程分析。


一:Makefile重要变量一览表,删除Makefile一些无关的信息

Makefile变量 含义 变量值 状态
U_BOOT_VERSION U-boot版本代号 U-Boot 2009.11 静态设置
HOSTARCH 主机架构 i386 动态测试 uname -m
HOSTOS 主机操作系统名称 Linux 动态测试 uname -s
BUILD_DIR 编译结果输出目录 U-boot 2009.11/ 动态&静态指定
OBJTREE 输出目录 U-boot 2009.11/ 静态
SRCTREE U-boot源码目录 U-boot 2009.11/ 静态
CURDIR 当前目录 U-boot 2009.11/ 静态
TOPDIR 顶层目录 U-boot 2009.11/ 静态
MKCONFIG 配置脚本 U-boot 2009.11/mkconfig 静态
CROSS_COMPILE 编译工具链 arm-linux- 静态
OBJS 所有用到的文件集合 *.o 动态
LIBS 所有用到的库文件集合 *.a 动态
ALL 所有输出目标 u-boot.bin 静态
all Makefile默认目标 ALL 静态
smdk2410_config SMDK2410开发板配置目标 依赖 unconfig 静态
JZ2440_config JZ2440开发板配置目标 依赖 unconfig 静态
clean 控制清理 目标 编译过程中生成的文件 静态

删除Makefile文件中与本开发板无关的信息

完整的Makefile 122KB大小,删除不必要的信息后大小约 13KB大小。


二:建立JZ2440的配置

待续……