感谢支持
我们一直在努力

Linux:驱动程序直接编译到内核

引子:首先实现了可加载的内核模块,通过这个内核模块实现对PWM定时器的控制和中断处理程序的注册。这里讨论一下将内核模块直接编译进内核的过程。


其实很简单


第一步:将源文件代码 mytimer.c(不知道这么说规范不,反正就是 .c 文件)拷到Linux源代码目录下的 drivers 下的某个目录下 如:drivers/char


第二步:修改drivers/char 中的 Kconfig,Kconfig文件维护着内核模块配置的菜单(Linux源代码根目录下 make menuconfig 出来的东西)


打开Kconfig,看到:


menu “Charecter devices” (drivers/char 中的Kconfig维护着菜单中字符驱动的选项)


(依照其他驱动的格式添加)


config MY_TIMER


(Tab)bool “my_timer” (在make menuconfig 打开的菜单中,my_timer 将出现在Charecter devices 的下一层)


(保存关闭)


如果选择了my_timer 配置结果将体现在Linux源代码根目录下 .config 文件中,在该文件中将会自动添加 CONFIG_MY_TIMER=y 的配置项。


第三步:打开drivers/char 中的 Makefile


(依照其他驱动的格式添加)


obj-$(CONFIG_MY_TIMER)        += mytimer.o


(保存关闭)


编译就可以了


同颜色的部分是相关联的,即肝胆相照,荣辱与共,同生共死,互为因果。

赞(0) 打赏
转载请注明出处:服务器评测 » Linux:驱动程序直接编译到内核
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏