当前位置:首页 > 单片机 > 单片机
[导读] 虽然网上有无数的分析,但是还是觉得有必要自己分析一遍Uboot在编译的时候通常需要两步:make EmbedSky_configmake all1.下面就分析一下执行 make EmbedSky_config后发生了什么在Makefile中有如下EmbedS

虽然网上有无数的分析,但是还是觉得有必要自己分析一遍
Uboot在编译的时候通常需要两步:
make EmbedSky_config
make all
1.下面就分析一下执行 make EmbedSky_config后发生了什么
在Makefile中有如下

  1. EmbedSky_config:unconfig

  2. @$(MKCONFIG)$(@:_config=)arm arm920t EmbedSkyNULLs3c24x0

1.1 unconfig:

  1. @rm-f include/config.h include/config.mk


  2. board/*/config.tmp board/*/*/config.tmp

unconfig 非常简单 删除几个文件,删除的这几个文件是在下面的mkconfig 中生成的
1.2 @$(MKCONFIG) $(@:_config=) arm arm920t EmbedSky NULL s3c24x0

  1. MKCONFIG:=$(SRCTREE)/mkconfig


  2. export MKCONFIG


  3. 所以 $(MKCONFIG)就是当前目录下的mkconfig脚本


  4. $(@:_config=)去掉EmbedSky_config中的_config,


  5. EmbedSky_config:unconfig


  6. ./mkconfig EmbedSky arm arm920t EmbedSkyNULLs3c24x0


  7. $0 $1 $2 $3 $4 $5 $6

1.3 然后再来分析一下执行了:
./mkconfig EmbedSky arm arm920t EmbedSky NULL s3c24x0 后做了什么

  1. rm-f include/asm


  2. ln-s include/asm-arm include/asm



  3. rm-f asm-arm/proc


  4. ln-s proc-armv asm-arm/proc



  5. rm-f asm-arm/arch


  6. ln-s arch-s3c24x0 asm-arm/arch

将如下写入include/config.mk
ARCH = arm
CPU = arm920t
BOARD = EmbedSky
SOC = s3c24x0
将如下写入include/config.h
#include

mkconfig主要做了两件事,创建符号链接,并创建config.mk 和 config.h 文件。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭