以前写的文章丢失. 现在重新复习一下.
首先搞定 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");
正文完