linux下常用的内核模块编写如下:
ifneq ($(KERNELRELEASE),)
obj-m := myfile.o
else
KDIR := /home/project/linux_prj/gq_prj/code_2/kernel-mini-4-3-1/linux-2.6.29
all:
make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux-
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers modul*
endif
|
解释如下:
1、obj-m -m表示生成的是内核模块,m代表module
2、假如你的C文件叫做myfile.c 那么你的obj就写作 myfile.o
3、KDIR 代表内核源代码的目录。(内核源代码必须要成功编译过,并且在你内核运行环境下进行加载和卸 载模块)
4、其他部分不需要你修改。
阅读(1550) | 评论(1) | 转发(1) |