设为首页 加入收藏

TOP

Android内核驱动开发中的Kconfig文件结构分析(图文)
2014-11-24 14:30:33 来源: 作者: 【 】 浏览:0
Tags:Android 内核 驱动 开发 Kconfig 文件 结构 分析 图文

毫不夸张地说,Kconfig和Makefile是我们浏览内核代码时最为依仗的两个文件。基本上,Linux 内核中每一个目录下边都会有一个Kconfig文件和一个Makefile文件。Kconfig和Makefile就好似一个城市的地图,地图引导我们去 认识一个城市,而Kconfig和Makefile则可以让我们了解一个内核目录下面的结构。在希望研究内核的某个子系统、某个驱动或其他某个部分时,都 有必要首先仔细阅读一下相关目录下的Kconfig和Makefile文件。


分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文档相关的内核配置菜单。在内核配置make menuconfig时,从Kconfig中读出菜单,用户选择后保存到.config的内核配置文档中。 在内核编译时,主Makefile调用这个.config,就知道了用户的选择。


假如想使这个驱动被编译,则要修改Makefile文件,因此,需要添加新的驱动时,需要修改的文件有两个:Kconfig,Makefile.



一般一个Kconfig文件表示的就是一个菜单,一个菜单由多个菜单项组成,其格式如下:


例如:



语法:



例如:


注:每个config菜单项都会产生一个配置选项CONFIG_XXX, XXX即为. 如上,则会产生一个配置项:CONFIG_UEVENT_HELPER_PATH,此配置项的值记录在内核根目录下的隐藏文件.config内, 例:~/WORKING_DIRECTORY/kernel/goldfish/.config文件内.


菜单链接的格式如下:



类型可以是:bool、tristate、string、hex和int。


bool类型的只能选中或不选中,选中为y,不选中为n.


tristate类型的菜单项为值可为三种值,多了编译成内核模块的选项。其值可为y,n,m.


string类型表示需要用户输入一串字符串。


hex类型则需要用户输入一个16进制数。


int类型表示用户输入一个整型.


总结:


菜单类型属性就好比一个控件,bool相当于单选框,trstate相当于有三种状态的复选框,string相当于供用户输入字符串的文本编辑框,hex相当于供用户输入16进制数的文本编辑框,而int就相当于供用户输入整型数的文本编辑框。


类型关键字后边可跟随提示字符,也可以不跟随,取决于情况。如:



默认值属性default一般在类型属性后边,如:



依赖可以是"depends on"或"requires".


语法:



如:



例如:



语法:



语法:



comment只是用来给用户提示信息的,后跟字符串,此字符串也可以在终端中显示。


comment选项只可以是deponds on。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇使用Struts2上传文件 下一篇如何下载并编译Android 4.0内核源..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: