我是靠谱客的博主 心灵美蓝天,最近开发中收集的这篇文章主要介绍u-boot mkconfig文件解析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

mini2440_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t mini2440 tekkamanninja s3c24x0

unconfig:
@rm -f $(obj)include/config.h $(obj)include/config.mk
  $(obj)board/*/config.tmp $(obj)board/*/*/config.tmp
其实这部分的功能就是删除一些文件

@$(MKCONFIG) $(@:_config=) arm arm920t mini2440 tekkamanninja s3c24x0
这部分$(@:_config)没看懂,后来在网上查到了一些高人的解释:

这里使用了Makefile中的替换引用规则,类似常看到的例子 obj=$(srcfiles:%.c=%.o): 由.c得到对应的.o文件.

这里是一样的道理:
 $(@:_config=)  
 
 @代表的是target mini2440_config, 那么$(@:_config=)就是将mini2440_config中的_config替换为空!得到mini2440; 你可以用echo自己打印出来看看就明白了!  

mini2440_config : unconfig
  @echo $(@:_config=) # 打印出来看看吧
  @$(MKCONFIG) $(@:_config=) arm arm920t mini2440 charming s3c24x0  

MKCONFIG其实就是根目录的脚本文件,这句的目的就是给脚本传递六个参数
所以上面的其实就是./mkconfig mini2440 arm arm920t mini2440 charming s3c24x0

在include文件夹下建立相应的文件(夹)软连接,

#如果是ARM体系将执行以下操作:
#ln -s     asm-arm        asm  

#ln -s  arch-s3c24x0    asm-arm/arch 
#ln -s   proc-armv       asm-arm/proc

生成Makefile包含文件include/config.mk,内容很简单,定义了四个变量:

ARCH   = arm
CPU    = arm920t
BOARD  = mini2440

VENDOR = tekkamanninja
SOC    = s3c24x0

生成include/config.h头文件,只有两行:

/* Automatically generated - do not edit */
#include "configs/mini2440.h"

#include"asm/config.h"


最后

以上就是心灵美蓝天为你收集整理的u-boot mkconfig文件解析的全部内容,希望文章能够帮你解决u-boot mkconfig文件解析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部