驱动学习0:本地编译测试

 

一个最简单的驱动代码:

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

static int __init vser_init(void)
{
        printk("vser_init\n");
        return 0;
}

static void __exit vser_exit(void)
{
        printk("vser_exit\n");
}

module_init(vser_init);
module_exit(vser_exit);

MODULE_LICENSE("GPL");

对应的Makefile为:

obj-m := vser.o                   #要生成的模块名     
modules-objs:= vser.o        #生成这个模块名所需要的目标文件

KDIR := /lib/modules/`uname -r`/build   

PWD := $(shell pwd)

default:
    make -C $(KDIR) M=$(PWD) modules

clean:
    rm -rf *.o .* .cmd *.ko *.mod.c .tmp_versions

 

sudo insmod  vser.ko

 

 

验证:

 

 

 

sudo rmmod vser 后查看

 

 

posted @ 2018-06-14 17:21  平常心,平常心  阅读(192)  评论(0)    收藏  举报