Chinaunix首页 | 论坛 | 博客
  • 博客访问: 205062
  • 博文数量: 96
  • 博客积分: 1781
  • 博客等级: 上尉
  • 技术积分: 970
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-07 12:31
文章分类

全部博文(96)

文章存档

2014年(1)

2013年(14)

2012年(44)

2011年(37)

分类: LINUX

2011-08-02 20:50:57

在看设备驱动开发详解时,第一个hello.c程序无法编译为模块。经上网查询。

1)vim Makefile

 obj-m := hello.o
KERNELDIR := /lib/modules/2.6.20/build  改为/lib/modules/2.6.38.8-35.fc15.i686.PAE/build
PWD := $(shell pwd)

modules:
  $(MAKE) -C $(KERNELDIR) M=$(PWD) modules    --->特别提醒,是MAKE 不是gcc

modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install

clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions

2)将Makefile 和hello.c 放在同一目录下

3)make 即可得到hello.ko

4)insmod hello.ko 

5)dmesg | grep Hello 可以看到模块加载的信息。

 或 /var/log/messages 可以看到printk的打印信息

阅读(315) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~