国嵌视频:Linux驱动程序介绍
make menuconfig后出现的菜单依赖于内核的drivers/char/Kconfig文件
vim Kconfig可见类似以下内容:
config HW_CONSOLE
bool (",,,,") #名称(括号内的,若有)
depends on VT && ,,,,,,, #依赖
deualt y #默认yes
今天对文件进行了如下更改:
在文件头部加入了config MY_DEVICE
bool "my test driver"
deafult n
然后执行make menuconfig ARCH=arm
在字符设备驱动选项中可见[ ] my test driver
选上 [*] my test driver
保存,然后vim .config
可见:CONFIG_MY_DEVICE=y,说明选上了。如何用这个配置:
接下来,还是进入(该内核目录下)drivers/char
vim Makefile(学内核最好的老师就是内核代码本身,打开Makefile看它是怎么做的)
复制一行,例如obj-$(CONFIG_TQ2440_HELLO) +=EmbedSky_hello.o
放到断首,改写成:
obj-$(CONFIG_MY_DEVICE) +=my_dev.o #假如写的程序名是my_dev.c,符号$是根据编译选项的结果进行操作,若换成显式的换成y则强制编译进内核,n则是不编译。
这样就行了,当然,首先是把代码写好,这里是怎样把驱动装进内核。