你好,游客 登录 注册 搜索
背景:
阅读新闻

分析uboot中 make xxx_config过程

[日期:2017-06-29] 来源:Linux社区  作者:linhaostudy [字体: ]

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中的语句是:

 

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-06/145292.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款