设为首页 加入收藏

TOP

Linux下Driver开发
2014-11-24 03:27:11 来源: 作者: 【 】 浏览:1
Tags:Linux Driver 开发

Linux下的驱动程序也没有听上去的那么难实现,我们可以看一下helloworld这个例子就完全可以了解它的编写的方式!


我们还是先看一个这个例子,helloworld


1)编写helloworld.c,内容如下:


---------------- code start---------------------------


#include //与module相关的信息
#include
#include //与init相关的函数


static int __init hellokernel_init(void)
{
printk(KERN_INFO "Hello kernel!\n");
return 0;
}


static void __exit hellokernel_exit(void)
{
printk(KERN_INFO "Exit kernel!\n");
}



module_init(hellokernel_init);
module_exit(hellokernel_exit);



MODULE_LICENSE("GPL");
MODULE_AUTHOR("xxxx");


---------------- code end---------------------------


2)编写Makefile


---------------- code start---------------------------


obj-m := helloworld.o


PWD := $(shell pwd)


all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules


clean:
rm -rf *.o *~ core .*.cmd *.mod.c ./tmp_version


---------------- code end---------------------------


3)执行make


编译成功之后会生成相应有ko文件,也就是我们想要的驱动了


4)驱动程序的相关操作


a)查看ko模块的信息 modinfo


b)插入模块 insmod helloworld.ko


c)卸载模块 rmmod helloworld


d)还有一个modprobe功能,以后介绍!


5)查看驱动的打印信息


使用dmesg可以查看在驱动的相关打印信息!


现在有例子是会有如下的打印内容:


---------------------log start----------------------------


[27520.195551] Exit kernel!
[27948.531569] Hello kernel!


---------------------log end----------------------------


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android拨号器的实现 下一篇Android button 居中

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Shell脚本:Linux Sh (2025-12-25 05:50:11)
·VMware虚拟机安装Lin (2025-12-25 05:50:08)
·Linux学习教程,Linu (2025-12-25 05:50:06)
·工业机器人TCP校准中 (2025-12-25 05:19:17)
·opc 通讯协议与 TCP (2025-12-25 05:19:15)