linux驱动开发

来源:互联网 发布:开发上位机界面软件 编辑:程序博客网 时间:2024/06/05 06:39

 1.helloworld.c:


#include<linux/module.h>
#include<linux/kernel.h>
#include<linux/init.h>


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");


2.Makefile:

obj-m := helloworld.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
rm -rf *.o *~core .*.cmd *.mod.c ./tmp_version



-------------------------------------------------

3)执行make
 
编译成功之后会生成相应有ko文件,也就是我们想要的驱动了
 
4)驱动程序的相关操作
 
      a)查看ko模块的信息 modinfo
 
      b)插入模块 insmod helloworld.ko
 
      c)卸载模块 rmmod helloworld
 
      d)还有一个modprobe功能,以后介绍!
 
5)查看驱动的打印信息
 
      使用dmesg可以查看在驱动的相关打印信息!
dmesg | tail
 
       现在有例子是会有如下的打印内容:
 
---------------------log start----------------------------
 
[27520.195551] Exit kernel!
[27948.531569] Hello kernel!
 
---------------------log end----------------------------

原创粉丝点击