欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android系统添加Linux驱动

程序员文章站 2023-12-10 20:56:28
linux内核是可配置,进入到linux目录,输入make menuconfig 将会有模块选择界面,前两句是 scripts/kconfig/mconf kco...

linux内核是可配置,进入到linux目录,输入make menuconfig 将会有模块选择界面,前两句是

scripts/kconfig/mconf kconfig
.config - linux/x86 3.10.65 kernel configuration

kconfig是默认选项,.config是当前内核配置文件。

这里介绍如何添加有依赖关系的linux驱动。

1.driver驱动下添加新的模块类

  • drivers/makefile文件添加obj-$(config_test_device) +=test/
  • drivers/kconfig文件中添加source "drivers/test/kconfig"
  • drivers/test/kconfig示例

Android系统添加Linux驱动

可以在make menuconfig配置界面中ddevice driver子选项下来改test_device配置,保存至.config。
也可以直接在.config文件中添加下面内容

Android系统添加Linux驱动

2.添加依赖新模块类的radio驱动

  • drivers/test/makefile添加obj-$(config_test_device) +=radio/
  • drivers/test/kconfig添加source "drivers/test/radio/kconfig"
  • drivers/test/radio/makefile示例obj-$(config_test_radio_driver) += radio.o
  • drivers/test/radio/kconfig示例

Android系统添加Linux驱动

此时可以在make menuconfig配置界面中device drivers的test_device目录下找到test_radio_driver选择加载方式。
也可以在linux3.10/.config文件的config_test_device=y后面添加config_test_radio_driver=m。

整理

通过实践来理解linux内核模块的编译。kconfig是make menuconfig时加载的,最后编译规则保存到.config文件中。.config和各个目录下的makefile是在编译时读取的文件。

我们跟踪config_test_device、 config_test_radio_driver、 test_device、test_radio_driver几个关键字即可理解编译的流程。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接