您的位置:首页 > 其它

设备驱动编写流程之二

2010-03-09 09:55 169 查看
hello.c

#include <linux/module.h>    //needed by all modules
#include <linux/kernel.h>    //needed for KERN_ALERT
#include <linux/init.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_INFO "hello, world!/n");

return 0;
}
static void hello_exit(void)
{
printk(KERN_INFO "goodbye world/n");
}
module_init(hello_init);
module_exit(hello_exit);


Makefile文件

#MAKE=make
#RM=rm
#obj-m := hello.o
#KERNELDIR := /lib/modules/$(shell uname -r)/build
#PWD := $(shell pwd)
#default:
#	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
#clean:
#	$(RM) *.o *.ko *.mod.c Module.symvers
obj-m += hello.o
PWD := $(shell pwd)
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean


上面Makefile文件中两种形式都是可行的。

insmod hello.ko 加载内核模块文件

dmesg 查看产生的记录

rmmod hello.ko 删除内核模块文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: