交叉编译 Makefile!!!
我是刚接触嵌入式,想在板上加个驱动就是不成功,我不会写Makefile,下了个只能生成.o.ko文件,不能生成.bin。我看有的人直接使用insmod加载.o.ko就行,我的为什么不行?好像必须用没后缀的可执行文件
希望谁能给我发个好用的Makefile,我用的是Linux2.6.13的内核,内核在虚拟机的/opt/EmbedSky/kernel-2.6.13下。
是不是在make前需要在虚拟机上编译一边内核?我在编译时出现过一些warning,不知道有没影响
一般的makefile我还懂,但这个驱动的一堆参数,我有的不知道什么意思。谢谢啦,希望谁能帮我一下!
回复 #1 SKY_MASTER 的帖子
.ko就是内核模块啊回复 #2 dreamice 的帖子
但为什么我insmod *.ko时出现错误?我创建了一个节点mknod /dev/beep c 254 0
然后insmod就不行
有的例子是insmod的可执行文件,就是没后缀那个。这个怎么整? 出现什么错误? 一般是内核版本不一样。2.6的是.ko, 2.4以前的是.o
回复 #4 yikaikai 的帖子
我又试了试,编译的hello.ko可以insmod但使用同样的Makefile编译出来的DS18B20.ko文件就不行
这是为什么?
出现如下错误:
DS18B20:Register major failed.
insmod:cannot insert 'DS18B20.ko' : Operation not permitted (-1):Operation not permitted
这是什么错误?
下的驱动程序在压缩包中,是驱动程序的问题吗?这个驱动程序是2.6的,我的板上的也是2.6的
[ 本帖最后由 SKY_MASTER 于 2009-8-8 15:59 编辑 ]
回复 #3 SKY_MASTER 的帖子
你先跑个hello world玩玩,不要急着去搞一个字符设备之类的。看一下你交叉编译的对不对。
回复 #6 dreamice 的帖子
刚跑了,好用能输出hello
回复 #5 SKY_MASTER 的帖子
你下的驱动程序包是否重新编译过了?回复 #8 dreamice 的帖子
什么意思?驱动程序不就是一个.c文件吗?用make就编译了。
你的意思我不是很明白。
我是在做一个项目,还是学软件的学生,对Linux这个才刚接触不到一个月,很多不了解。
你能不能再所清楚些
若是觉得这个麻烦,我的QQ是254133327
回复 #8 dreamice 的帖子
不用啦!我换了个驱动程序就好使了!
谢谢啦!
页:
[1]
2