分析uboot中 make xxx

make xxx_config实质上就是调用了

分析uboot中 make xxx

首先看MKCONFIG:

【注意】SRCTREE=源文件下的目录

之后的语句:

@$(MKCONFIG) $(@:_config=) arm arm920t EmbedSky NULL s3c2440就相当于执行

#mkconfig xxx arm arm920t EmbedSky NULL s3c2440

#$0  $1  $2 $3  $4  $5  $6

于是乎就开始执行mkconfig;

分析uboot中 make xxx

[ "${BOARD_NAME}" ] 就是指明xxxx,上面的实例为100ask24x0

这里就会执行echo “Configuring for 100ask24x0 board...”

(1)建立软链接

之后就会执行:

分析uboot中 make xxx

ln -s asm-arm asm

【注意】

建立一个链接文件,为什么这么做呢?

在源文件中调用:

#include <asm/type.h>     //就相当于 include <asm-arm/type.h>

-------------------------------------------------------------------------

继续往下看:

同样生成asm-arm/proc文件。

(2)生成config.mk文件

生成config.mk文件:

分析uboot中 make xxx

echo "ARCH = $2" > config.mk  //重定向

echo "CPU = $3"  >> config.mk  //追加到config.mk

echo "BOARD = $4" >> config.mk

之后由于$5等于NULL,$6 = s3c2440,所以:

SOC = s3c24x0会定向到config.mk文件中;

config.mk内容:(在include文件夹中)

ARCH = arm

CPU = arm920t

BOARD = 100ask24x0

SOC = s3c24x0

(3)生成config.h

分析uboot中 make xxx

在uboot中APPEND = no

所以执行else分支的语句;

config.h也是在include文件夹中;

所以在config.h中的语句是:

分析uboot中 make xxx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/f1a9115d775cfe4616d751c9e0a54be6.html