在menuconfig中添加编译驱动设备

我采用的是2.6.26的内核。

例:在drivers里添加个设备文件夹如(buzzer文件夹),里面有buzzer.c和buzzer.h文件把他们变成模块。

1.       在arch/arm/kconfig 和drivers/kconfig 里添加source "drivers/buzzer/Kconfig"选择模块的选项。

2.       在/drivers/里的makefiel文件添加编译的路径

     obj-$(CONFIG_NEW_BUZZERS)     += buzzer/

3.       在/drivers/buzzer/里编写Makefile文件。

     obj-$(CONFIG_NEW_BUZZERS)     += buzzer.o

4.       在/drivers/buzzer/里编写kconfig文件

    menuconfig NEW_BUZZERS

       bool "BUZZER Support"

       help

         Say Y to enable Linux BUZZER support.  This allows control of supported

         BUZZERs from both userspace and optionally, by kernel events (triggers).

 

         This is not related to standard keyboard BUZZERs which are controlBUZZER

         via the input system.

若没有选择相应的模块就不会被编译。

方法2

以模块的方式加载进去。其makefile文件如下:

obj-m := buzzer.o

 

 

KSRCDIR = ../linux-2.6.26.5

KOBJDIR = /home/s3c2410/

 

EXTRA_CFLAGS += -I../modules

 

default:

       $(MAKE) -C $(KSRCDIR) O=$(KOBJDIR) SUBDIRS=$(PWD) ARCH=arm CROSS_COMPILE=/usr/local/arm/3.4.1/bin/arm-linux- modules

 

clean:

       rm -f *.o *.ko *.mod.c .*.cmd Module.symvers .tmp_versions *.order

       rm -rf .tmp_versions

注意:

1.在编写driver/设备/   下的Makefile 时,生成的.O要和.C文件同名,否则编译会出错。


2.编译的设备文件和编译的内核要处于同一个目录下,而且内核要先进行编译过


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qiang1533/archive/2010/08/16/5814031.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值