以前写的文章丢失.现在重新复习一下.
首先搞定makefile文件.基本格式如下:
#定义最终的模块名,不能与现有的任何.c .h等文件重名
MODULE_NAME := it6604driver
#指定驱动模块的核心文件(有init 和 exit)
RESMAIN_CORE_OBJS := it6604dev.o
#所依赖的文件
RESMAIN_GLUE_OBJS :=
obj-m += $(MODULE_NAME).o
$(MODULE_NAME)-objs := $(RESMAIN_GLUE_OBJS) $(RESMAIN_CORE_OBJS)
#内核文件夹
KERN_SRC :=/home/justchen/hi3520d/osdrv/kernel/linux-3.0.y
PWD := $(shell pwd)
modules:
make -C $(KERN_SRC) M=$(PWD) modules
install:
make -C $(KERN_SRC) M=$(PWD) modules_install
depmod -a
clean:
make -C $(KERN_SRC) M=$(PWD) clean
如上所示.我们除了需要有一个编译好的内核外,只需要再完善一个it6604dev.c文件即可,如果项目复杂就添加加对应的头文件以及c文件
接下来完善it6604dev.c,其主要内容为
#include //与module相关的信息
#include
#include //与init相关的函数
static int __init it6604_init(void)
{
printk(KERN_INFO "Hello kernel!\n");
return 0;
}
static void __exit it6604_exit(void)
{
printk(KERN_INFO "Exit kernel!\n");
}
module_init(it6604_init);
module_exit(it6604_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("xxxx");
正文完