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示例
可以在make menuconfig配置界面中ddevice driver子选项下来改test_device配置,保存至.config。
也可以直接在.config文件中添加下面内容
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示例
此时可以在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几个关键字即可理解编译的流程。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接