`
hududumo
  • 浏览: 238514 次
文章分类
社区版块
存档分类
最新评论

Kconfig语法规则

 
阅读更多

2.6内核的源码树目录下一般都会有两个文文:Kconfig和Makefile。分布在各目录下的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。在内核编译时,主Makefile调用这个.config,就知道了用户对内核的配置情况。

上面的内容说明:Kconfig就是对应着内核的配置菜单。假如要想添加新的驱动到内核的源码中,可以通过修改Kconfig来增加对我们驱动的配置菜单,这样就有途径选择我们的驱动,假如想使这个驱动被编译,还要修改该驱动所在目录下的Makefile。

因此,一般添加新的驱动时需要修改的文件有两种(注意不只是两个)

*Kconfig
*Makefile

下面简要介绍一下Kconfig

每个菜单项都有一个关键字标识,最常见的就是config。

语法:
config symbol

options
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

symbol就是新的菜单项,options是在这个新的菜单项下的属性和选项

其中options部分有:

1、类型定义:
每个config菜单项都要有类型定义,bool:布尔类型, tristate三态:内建、模块、移除, string:字符串, hex:十六进制, integer:整型

例如config HELLO_MODULE
bool "hello test module"

bool类型的只能选中或不选中,tristate类型的菜单项多了编译成内核模块的选项,假如选择编译成内核模块,则会在.config中生成一个CONFIG_HELLO_MODULE=m的配置,假如选择内建,就是直接编译成内核影响,就会在.config中生成一个CONFIG_HELLO_MODULE=y的配置.

2、依赖型定义depends on或requires
指此菜单的出现是否依赖于另一个定义

config HELLO_MODULE
bool "hello test module"
depends on ARCH_PXA
这个例子表明HELLO_MODULE这个菜单项只对XScale处理器有效,即只有在选择了ARCH_PXA, 该菜单才可见(可配置)。

3、帮助性定义
只是增加帮助用关键字help或---help---
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

转:http://blog.chinaunix.net/uid-26980210-id-3222529.html

分享到:
评论

相关推荐

    Kconfig 语法介绍1

    Kconfig 语法介绍1 Kconfig 语法介绍1 Kconfig 语法介绍1 Kconfig 语法介绍1

    linux下kconfig语法

    kconfig 语法详细介绍,要看内核必看makefile,要看makefile必看kconfig,要看kconfig必要了解kconfig语法。 万里长征第一步,大家走好。

    配置文件kconfig语法

    基于linux系统的配置文件kconfig语法

    Kconfig语法.txt

    Kconfig语法.txt----linux内核驱动编写中很重要的说明书

    kconfig语法

    内核移植Kconfig的语法 把那些目录 文件编入内核 哪些文件编程模块 内核的配置 等等

    linux kconfig详解及语法.pdf

    linux kconfig详解及语法.pdf

    Kconfig语法

    linux2.6.x的配置文件kconfig语法linux在2.6版本以后将配置文件由原来的config.in 改为kconfig,对于kconfig的语法在/Documentation/kbuild/kconfig-language.txt中做了详细的说 明,在这里给出kconfig-language.txt...

    linux2.6.x的配置文件kconfig语法

    每个选项都有其自己的依赖关系。这些依赖关系决定了选项是否是可见的。父选项可见,子选项才能可见。

    Kconfig简介

    Kconfig和Makefile是我们浏览内核代码时最为依仗的两个文件。基本上,Linux 内核中每一个目录下边都会有一个Kconfig文件和一个Makefile文件。Kconfig和Makefile就好似一个城市的地图,地图引导我们去 认识一个城市,...

    Kconfig详解

    关于kconfig和makefile语法的文章

    linux kconfig介绍

    kconfig 的语法介绍。查看kconfig具体的使用方法和各个语句段类型

    Kconfig和Makefile

    Linux内核源码树的每个目录下都有两个文档Kconfig和Makefile。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文档相关的内核配置菜单。在执行内核配置make menuconfig时...

    rt-thread的Kconfig的修改.doc

    主要是修改Kconfig文件,在使用ENV工具时,针对于rt-thread的源码进行删减并修改了路径的处理,使得继续能够适应ENV工具

    kconfig-frontends-3.10.0.0

    linux下搭建pixhawk开发环境所必备的组件 - ‘’kconfig-frontends‘’

    linux-kconfig.tar.gz

    移植linux3.10的kconfig工具,使用该工具之后,可以针对不同的需求,生成不同的编译配置文件,完成不同应用组合的构建功能。 (busybox、buildroot也是借助linux 的kconfig工具实现类似功能)

    Android_Linux_Kconfig[借鉴].pdf

    Android_Linux_Kconfig[借鉴].pdf

    kconfig-language.zip_kconfig_language

    Kconfig language exposition document

    kconfig安装包 make menuconfig会用到

    使用到make menuconfig配置工具的时候会依赖这个包,安装的时候选项记得写./configure --enable-mconf

    Make&Kconfig

    网上很容易找的,暂时存放在在网上供自己用,没有必要下载

    Makefile与Kconfig

    网上很容易找的,暂时存放在在网上供自己用,没有必要下载

Global site tag (gtag.js) - Google Analytics