读书人

linux驱动编纂(Kconfig文件和Makefil

发布时间: 2013-09-09 20:31:09 作者: rapoo

linux驱动编写(Kconfig文件和Makefile文件)


【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】


在linux编写驱动的过程中,有两个文件是我们必须要了解和知晓的。这其中,一个是Kconfig文件,另外一个是Makefile文件。如果大家比较熟悉的话,那么肯定对内核编译需要的.config文件不陌生,在.config文件中,我们发现有的模块被编译进了内核,有的只是生成了一个module。这中间,我们如何让内核发现我们编写的模块呢,这就需要在Kconfig中进行说明。至于如何生成模块,那么就需要利用Makefile告诉编译器,怎么编译生成这个模块。模仿其实就是最好的老师,我们可以以内核中经常使用到的网卡e1000模块为例,说明内核中是如何设置和编译的。


首先,我们可以看一下,在2.6.32.60中关于e1000在Kconfig中是怎么描述的,

obj-$(CONFIG_E1000) += e1000.oe1000-objs := e1000_main.o e1000_hw.o e1000_ethtool.o e1000_param.o

看了这个文件,其实大家心理就应该有底了。原来这个e1000模块最终生成的文件就是e1000.ko,依赖的文件就是e1000_main.c、e1000_hw.c、e1000_ethtool.c、e1000_param.c这四个文件。只要CONFIG_E1000被设置了,那么这个模块就会被正常编译。我们要做的就是打开这个开关就可以了,剩下kernel会帮我们搞定一切。当然,如果大家想把这个模块拿出来,自己用一个独立的module编译也是可以的。


关于linux驱动的编译部分,其实就这两个配置文件比较重要。大家可以自己实际练习一下,进一步加深印象。




读书人网 >UNIXLINUX

热点推荐