Chinaunix首页 | 论坛 | 博客
  • 博客访问: 538562
  • 博文数量: 83
  • 博客积分: 4136
  • 博客等级: 中校
  • 技术积分: 886
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-19 21:14
文章分类

全部博文(83)

文章存档

2013年(1)

2011年(25)

2010年(57)

分类: LINUX

2010-12-07 20:13:31

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、其他部分不需要你修改。
阅读(1521) | 评论(1) | 转发(1) |
0

上一篇:linux内核链表

下一篇:emacs 去掉^M的方法

给主人留下些什么吧!~~

chinaunix网友2010-12-08 14:59:23

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com