位置: 编程技术 - 正文
推荐整理分享linux 驱动之Kconfig文件和Makefile文件实例(linux安装ko驱动),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:linux驱动 知乎,wifi linux驱动,linux驱动视频教程,linux uio驱动,linux uio驱动,linux console 驱动,linux驱动详解,linux驱动详解,内容如对您有帮助,希望把文章链接给更多的朋友!
linux 驱动之Kconfig文件和Makefile文件实例
在Linux编写驱动的过程中,有两个文件是我们必须要了解和知晓的。这其中,一个是Kconfig文件,另外一个是Makefile文件。如果大家比较熟悉的话,那么肯定对内核编译需要的.config文件不陌生,在.config文件中,我们发现有的模块被编译进了内核,有的只是生成了一个module。这中间,我们如何让内核发现我们编写的模块呢,这就需要在Kconfig中进行说明。至于如何生成模块,那么就需要利用Makefile告诉编译器,怎么编译生成这个模块。模仿其实就是最好的老师,我们可以以内核中经常使用到的网卡e模块为例,说明内核中是如何设置和编译的。
首先,我们可以看一下,在2.6..中关于e在Kconfig中是怎么描述的,
上面的内容是从drivers/net/Kconfig中摘录出来的。内容看上去不复杂,最重要的就是说明了模块的名称、用途、依赖的模块名、说明等等。只要有了这个说明,我们在shell下输入make menuconfig的时候就可以看到e这个选项了,输入y表示编译内核;输入n表示不编译;输入m表示模块编写,这是大家都知道的。
那么,有了这个模块之后,需要编译哪些文件中,我们在drivers/net/Makefile看到了这样的内容,
显然,这段代码只是告诉我们,要想编译e,必须要包含e这个目录,所以e目录下必然还有一个Makefile,果不其然,我们在e目录下发现了这个Makefile,内容如下,
看了这个文件,其实大家心理就应该有底了。原来这个e模块最终生成的文件就是e.ko,依赖的文件就是e_main.c、e_hw.c、e_ethtool.c、e_param.c这四个文件。只要CONFIG_E被设置了,那么这个模块就会被正常编译。我们要做的就是打开这个开关就可以了,剩下kernel会帮我们搞定一切。当然,如果大家想把这个模块拿出来,自己用一个独立的module编译也是可以的。
关于linux驱动的编译部分,其实就这两个配置文件比较重要。大家可以自己实际练习一下,进一步加深印象。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
linux C语言开发管道通信实例详解 linuxC语言开发管道通信Linux系统本身为进程间通信提供了很多的方式,比如说管道、共享内存、socket通信等。管道的使用十分简单,在创建了匿名管道之
浅谈ctrl+c,ctrl+d,ctrl+z在linux中的意义 ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.ctrl+c是强制中断程序的执行。ctrl+z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只
ubuntu使用root用户登录/切换root权限的实现 ubuntu系统默认root用户是不能登录的,密码也是空的。如果要使用root用户登录,必须先为root用户设置密码打开终端,输入:sudopasswdroot然后按回车此时会
标签: linux安装ko驱动
本文链接地址:https://www.jiuchutong.com/biancheng/371537.html 转载请保留说明!上一篇:mac 安装omyzsh后不执行~/.bash_profile、~/.bashrc的完美解决办法(mac安装osx失败)
友情链接: 武汉网站建设