首页 » 嵌入式笔记 » 正文

linux 混杂设备驱动复习

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

发表评论