我是靠谱客的博主 从容花卷,最近开发中收集的这篇文章主要介绍linux中kconfig文件,在Linux驱动之中通过修改kconfig文件添加menuconfig选项,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这个工作之前做过一次,不过忘记了,今天因为要用到,又重新温习一遍。

关键的动作是在/drivers/char/Makefile的后面增加对应的source,这样就会使依赖关系发生作用

obj-$(CONFIG_SM1623DRV) += sm1623drv/

第二步就是同样在/drivers/char/Kconfig的后面增加对应的子文件夹的Kconfig文件,这样在执行 make menuconfig时就会寻找到对应的编译选项

source "drivers/char/sm1623drv/Kconfig"

之前有修改/arch/arm/Kconfig的说法,不知道是否必须,如果修改了这个,会在make menuconfig的顶层界面看到对应的module选项

需要注意的是,我开始犯了一个错误,导致一直编译不到目标目录,原因是一开始我在Makefile里写成这样

obj-$(SM1623DRV) += sm1623drv/实际上要写成

obj-$(CONFIG_SM1623DRV) += sm1623drv/否则系统因为找不到CONFIG_SM1632DRV这个宏导致不会编译sm1623drv目录里面的文件

Kconfig的样子:

#

# sm1623 driver.

#

config SM1623DRV

tristate "sm1623 driver"

default m

help

this is a sm1623 driver for DVD player...

SM1623DRV这个是要生成的宏,Makefile文件里就是判断这个宏,不过它前面要加上CONFIG_

其中tristate表示有3种可选项,分别是(M)编译为模块,(*)编译为内置方式,( )不编译

后面是默认的编译的方式,这里是以模块的方式

模块里的Makefile文件例子:

obj-$(CONFIG_SM1623DRV) += sm1623drv.o

最后

以上就是从容花卷为你收集整理的linux中kconfig文件,在Linux驱动之中通过修改kconfig文件添加menuconfig选项的全部内容,希望文章能够帮你解决linux中kconfig文件,在Linux驱动之中通过修改kconfig文件添加menuconfig选项所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部