uboot-2011.12移植到S3C2440(序三)—— Makefile之参考文献

参考文献:

  1. 《韦东山——嵌入式Linux应用开发完全手册》第15章
  2. uboot之start.s分析

DENX的u-boot是一个狠庞大的系统,研究透彻u-boot的Make的运作同样是一个狠庞大的工程,目前我仅参考以上两个参考文档对S3C2440的u-boot的编译的Make相关的文件和命令做一个简单说明。如果深入学习《嵌入式Linux应用开发完全手册》是一个很好的指引。

  1. 一般针对S3C2440的移植都是参照smdk2410来的,所以在smdk2410的目录,拷贝一个做为smdk2440;
  2. 另外,编译后,可以直接查找*.o文件查看已编译选项;
  3. 读Makefile可以发现u-boot.lds的用途。
  4. start.S是整个uboot的起始文件。

以上四项《嵌入式Linux应用开发完全手册》已经从源头说明了其组成原理。

一  make smdk2440_config的解析:

        一般的,在配置u-boot的时候,我们会输入:

make smdk2440_config

从早期的u-boot版本中可以见到这样的几行:

MKCONFIG=$(SRCTREE)/mkconfig

......

smdk2410_config :     unconfig

        @$(MKCONFIG) smdk2410 arm arm920t smdk2410 NULL s3c24x0

由此翻译过来,make smdk2440_config就相当于:

./mkconfig smdk2410 arm arm920t smdk2410 NULL s3c24x0

二  对于./mkconfig smdk2410 arm arm920t smdk2410 NULL s3c24x0的解析:

        这个mkconfig是一个shell脚本,它根据传入的参数,做了如下工作:

ln -s asm-$2 asm
ln -s arm-$6 asm-$2/arch
ln -s proc-armv arm-$2/proc

创建config.mk文件

ARCH = arm
CPU = arm920t
BOARD = smdk2410
SOC = s3c24x0

创建于开发板相关的config.h文件

#include <configs/$1.h>

你可能感兴趣的:(uboot-2011.12移植到S3C2440(序三)—— Makefile之参考文献)