分析uboot中 make xxx_config过程

别来无恙 提交于 2020-02-27 09:26:35

make xxx_config实质上就是调用了

 

首先看MKCONFIG:

 

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

 

之后的语句:

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

#mkconfig xxx arm arm920t EmbedSky NULL s3c2440

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

 

于是乎就开始执行mkconfig;

 

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

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

 

 

(1)建立软链接

之后就会执行:

 

ln -s asm-arm asm

【注意】

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

在源文件中调用:

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

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

 

继续往下看:

 

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

 

(2)生成config.mk文件

生成config.mk文件:

 

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中APPEND = no

所以执行else分支的语句;

 

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

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

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!