Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2159856
  • 博文数量: 438
  • 博客积分: 3871
  • 博客等级: 中校
  • 技术积分: 6075
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-10 00:11
个人简介

邮箱: wangcong02345@163.com

文章分类

全部博文(438)

文章存档

2017年(15)

2016年(119)

2015年(91)

2014年(62)

2013年(56)

2012年(79)

2011年(16)

分类: LINUX

2012-03-28 18:36:30

虽然网上有无数的分析,但是还是觉得有必要自己分析一遍
Uboot在编译的时候通常需要两步:
make EmbedSky_config
make all
1.下面就分析一下执行 make EmbedSky_config后发生了什么
在Makefile中有如下
  1. EmbedSky_config : unconfig
  2. @$(MKCONFIG) $(@:_config=) arm arm920t EmbedSky NULL s3c24x0
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 EmbedSky NULL s3c24x0

  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 文件。

阅读(2072) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~