嵌入式系统Kconfig .config Makefile的联系和区别

电子说

1.3w人已加入

描述

一、Kconfig

1.定义:

一个文本形式的文件,其中主要作用是在内核配置时候,作为配置选项。 即:在Kconfig文件中添加配置选项。 

2.语法:

config symbol //是个新的标记的菜单项    options //是在这个新的菜单项下的属性和选项

例:config HELLO_MODULE      bool “hello test module”      depends on ARCH_PXA      help       XXXX

3.options5种类型:

bool布尔类型/tristate三态/string字符串/hex十六进制/integer整型

其中,bool:菜单项显示为[],.config中生成一个 CONFIG_XXX=y/n (选中/不选中) 

tristate:菜单项显示为<>, .config中生成一个 CONFIG_XXX=y/m/n(编译成内核映像/编译成内核模块/不编译)

4.目录层次迭代 :

通过source “/…/…/Kconfig”链接,这样便可以使各个目录管理各自的配置内容,使不必把那些配置都写在同一个文件里,方便修改和管理

5.依赖关系:

例: config HELLO_MODULE     bool “hello test module”     depends on ARCH_PXA     help      XXXX 表示 HELLO_MODULE 依赖于ARCH_PXA

6.make menuconfig:会出现内核的配置界面

二、.config

在选择后会生成.config 

三、Makefile

2.6内核的Makefile分为5个组成部分: 1. 最顶层的Makefile :读取 .config文件的内容,并总体上负责build内核和模块。 2. 内核的.config配置文件 3. 在arch/$(ARCH) 目录下的体系结构相关的Makefile:提供补充体系结构相关的信息 4. 在s目录下的 Makefile.* 文件:包含了所有用来根据kbuild Makefile 构建内核所需的定义和规则。 5. 各级目录下的大概约500个kbuild Makefile文件

最顶层的Makefile会调用.config负责编译内核和模块。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分