这篇文章具体说说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的配置
待续……