linux增加驱动模块

linux增加驱动模块

ID:43515593

大小:29.50 KB

页数:3页

时间:2019-10-09

linux增加驱动模块_第1页
linux增加驱动模块_第2页
linux增加驱动模块_第3页
资源描述:

《linux增加驱动模块》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、linux增加驱动模块1.在drives目录下添加hello目录,内含hello.cKconfigMakefile  hello.c内容:  #include  #include  MODULE_LICENSE("DualBSD/GPL");  staticinthello_init(void)  {  printk(KERN_ALERT"Hello,world");  return0;  }  staticvoidhello_exit(void)  {  printk(KERN_ALERT"Goodbye,cruelworld");  }  module_init

2、(hello_init);  module_exit(hello_exit);  Kconfig内容:  configHELLO  tristate"HelloDriveraddedbyDong"  defaultn  help  testforaddingdrivertomenuconfig.  MakeFile内容:  obj-$(CONFIG_HELLO)+=hello.o  2.上面的Kconfig文件再加上下面的两个配置,可使hello项出现在配置菜单中。  在arch/arm/Kconfigmenu"DeviceDrivers"endmenu之间添加  

3、source"drivers/hello/Kconfig"  在drivers/Kconfigmenu"DeviceDrivers"endmenu之间添加  source"drivers/hello/Kconfig"  (不知为什么arch/arm/Kconfig中竟然含有Drivers里Kconfig内容的一个复本,  实验证明只对drivers/Kconfig中修改内容无效。)  3.修改Drivers目录下的Makefile文件,添加如下行,  obj-$(CONFIG_HELLO)+=hello/  当CONFIG_HELLO为y或m时,使系统能找到hell

4、o驱动的makefile。  linux-2.6.25目录下makemenuconfig,在DeviceDrivers菜单下选中HelloDriveraddedbyDong项比如M,作为module。然后保存配置,执行make命令,就可以看到CC[M]drivers/hello/hello.o的 log了,hello目录里生成了hello.ohello.ko的等文件。  流程:  假如在makemenuconfig时配置HelloDriveraddedbyDong为M(即编为模块,而不是编进linux内核)  则.config中就会多一行CONFIG_HELLO=m

5、  如此一来,drivers/Makefile中obj-$(CONFIG_HELLO)+=hello/就变成了obj-m+=hello/  于是执行make命令时,便会进入hello目录里找makefile,MakeFile内容obj-$(CONFIG_HELLO)+=hello.o变成了obj-m+=hello.o,所以hello.c就被编译成模块了。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。