在make munuconfig 配置选项主目录/子目录下怎样添加模块选项
来源:互联网 发布:少林禅武医网络班 编辑:程序博客网 时间:2024/05/17 03:24
1.在mod-subdirs 中加入模块文件夹名
2.按照如下模式添加子目录配置项
subdir-$(CONFIG_MMC) += mmc
注:CONFIG_MMC在Config.in文件中被定义,且当你配置内核时会给其赋值。
3.模块文夹中的Config.in文件简单范例
#
# MMC subsystem configuration
#
mainmenu_option next_comment
comment 'MMC/SD Card support'
tristate 'MMC support' CONFIG_MMC
if [ "$CONFIG_MMC" = "y" -o "$CONFIG_MMC" = "m" ]; then
bool ' MMC debugging' CONFIG_MMC_DEBUG
if [ "$CONFIG_MMC_DEBUG" = "y" ]; then
int ' MMC debugging verbosity (0=quiet, 3=noisy)' CONFIG_MMC_DEBUG_VERBOSE 0
fi
if [ "$CONFIG_MMC_S3C2410" = "y" -o "$CONFIG_ARCH_H5400" = "y" -o "$CONFIG_ARCH_H2200" = "y" ] ; then
tristate ' Samsung MMC ASIC Support' CONFIG_MMC_SAMSUNG_ASIC
dep_tristate ' S3C2410 SD/MMC Support' CONFIG_MMC_S3C2410 $CONFIG_MMC_SAMSUNG_ASIC $CONFIG_ARCH_S3C2410
dep_tristate ' H5400 SD/MMC Support' CONFIG_MMC_H5400 $CONFIG_MMC_SAMSUNG_ASIC $CONFIG_ARCH_H5400
dep_tristate ' ASIC3 SD/MMC support' CONFIG_MMC_ASIC3 $CONFIG_IPAQ_HAS_ASIC3
fi
fi
endmenu
4.模块文件中Makefile简单范例
#
# Makefile for the kernel mmc device drivers.
#
O_TARGET := mmc.o
export-objs := mmc_core.o mmc_samsung.o
obj-$(CONFIG_MMC) += mmc_base.o
obj-$(CONFIG_MMC_SAMSUNG_ASIC) += mmc_samsung.o
obj-$(CONFIG_MMC_S3C2410) += mmc_s3c2410.o
obj-$(CONFIG_MMC_H5400) += mmc_h5400.o
obj-$(CONFIG_MMC_ASIC3) += mmc_asic3.o
# Declare multi-part drivers.
list-multi := mmc_base.o
mmc_base-objs := mmc_protocol.o mmc_core.o mmc_media.o
include $(TOPDIR)/Rules.make
# Link rules for multi-part drivers.
mmc_base.o: $(mmc_base-objs)
$(LD) -r -o $@ $(mmc_base-objs)
5.当我们把上面的都添加了以后,运行make munuconfig命令的时候在主目录下我们依然看不到mmc的选项。原因是没有把Config.in文件导入现在的系统配置中。不同的cpu结构有
不同的系统导入点。这个导入点在arch目录的CPU结构体目录下,例如选择ARM结构,那么需要在arch/arm/config.in 中指定mmc这个Config.in :source drivers/mmc/Config.in
==========================================================================
上面我们是在主目录下添加模块,下面介绍在子目录下添加小模块的方法:
举例:
我们要在char目录下添加led模块。需要修改的文件只有两个:drivers/char/Config.in和drivers/char/Makefile
1.在drivers/char/Config.in文件中添加:
dep_tristate 'S3C2410 LED support' CONFIG_S3C2410_GPIO_LED
$CONFIG_ARCH_S3C2410
含义:CONFIG_ARCH_S3C2410只要被定义为Y或M,在字符设备分类下就会出现S3C2410 LED support选项,它对应了CONFIG_S3C2410_GPIO_LED的定义。定义为模块时
CONFIG_S3C2410_GPIO_LED为M,定义为连接到内核中CONFIG_S3C2410_GPIO_LED为y。
2.在drivers/char/Makefile文件中添加:
obj-$(CONFIG_S3C2410_GPIO_LED) += s3c2410_led.o
含义:Makefile会根据obj-m和obj-y编译并连接对应的源码。
3.make modules SUBDIRS=drivers/char
只编译drivers/char目录下的模块。
- 在make munuconfig 配置选项主目录/子目录下怎样添加模块选项
- make menuconfig 添加/增加 配置选项
- openwrt-make menuconfig添加默认配置选项
- 添加make menuconfig选项
- 为什么在Kconfig添加了模块,然后在make menuconfig中找不到选项
- Makefile Kconfig 内核配置————怎样在menuconfig中添加一个菜单选项
- QT 怎样添加编译选项
- make选项
- make menuconfig如何添加新选项
- FatFs模块功能配置选项
- FatFs模块功能配置选项
- 内核配置make menuconfig 找不到arm选项
- 如何在内核中添加新的驱动配置选项
- 在Flash "命令"菜单下,添加新的选项方法
- 怎么在linux下makefile文件中添加调试选项
- Kconfig添加了MODULE,然后在make menuconfig中找不到选项
- make命令及选项
- make的命令行选项
- 用Delphi写MIS类程序(十)
- Visual Studio 2005下的Web Application Projects和Web Site Projects两种模型比较
- 如何解决XP下宽带拨号时“不可使用-找不到设备”的问题?
- 很不错的jQuery学习资料和实例
- asp.net 中关于防止用户重复登录的问题
- 在make munuconfig 配置选项主目录/子目录下怎样添加模块选项
- 13款创意头盔
- 最近发现一些软件的菜单栏都跑右上角了
- 开张
- 时空隧道
- java排序汇总--经典
- 刚到
- 幸福接力
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十一)地图遮罩层的实现