最近学习编写驱动程序,编写驱动,首先要构建内核树,记得以前编写驱动时,直接指定了内核源码的位置,但是在ubuntu上内核版本和源码版本不一致,编译时出了很多错误。在网上搜了一下,才明白,编写模块驱动,首先要构建内核树。ubuntu上不带内核源码,一般的方法是下载内核重新编译一遍,构建内核树。但是这样做有点麻烦,又网上搜集一下,发现ubuntu上自带内核树,在/lib/modules 目录下。
阅读(615) | 评论(0) | 转发(1) |
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
- root@wang:/lib/modules/2.6.35-22-generic/build# ls
- arch crypto drivers fs init Kbuild lib mm net scripts sound tools usr
- block Documentation firmware include ipc kernel Makefile Module.symvers samples security source ubuntu virt
- root@wang:/lib/modules/2.6.35-22-generic/build# pwd
- /lib/modules/2.6.35-22-generic/build
- root@wang:/lib/modules/2.6.35-22-generic/build# ls
Makefile 可以这样写:
- root@wang:/work/wanghuan/drives# cat Makefile -n
- 1 #===============================================================================
- 2 # Filename: Makefile
- 3 # Description:
- 4 #
- 5 # Author: wanghuan
- 6 # Company:
- 7 #
- 8 #==============================================================================
- 9
- 10 obj-m :=cdev.o #目标文件
- 11 KDIR :=/lib/modules/2.6.35-22-generic/build #内核路径
- 12 PWD := $(shell pwd) #模块源文件路径
- 13 all:
- 14 $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
- 15 @rm -rf *.mod.*
- 16 @rm -rf .*.cmd
- 17 @rm -rf *.o
- 18 @rm -rf Module.*
- 19 chmod a+x cdev.ko
- 20 clean:
- 21 rm -rf *.ko
相关热门文章
给主人留下些什么吧!~~
评论热议