主题 : 驱动交叉编译问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 1852
精华: 0
发帖: 21
金钱: 195 两
威望: 183 点
综合积分: 42 分
注册时间: 2008-10-06
最后登录: 2012-12-02
楼主  发表于: 2009-05-28 17:33

 驱动交叉编译问题

大家好,我有个驱动交叉编译问题已经搞了我几天了。一直郁闷中,希望群里高手能帮我一下。


我虚拟机上面的linux是2.4版本的,开发板上面的是2.6.13版本的。我按手册上面步骤来编译qq2440_leds驱动没有问题,可以正常下到开发板上面来运行。后来自己把qq2440_leds复制到了另外一个文件夹,自己再终端打命令来编译这个驱动
arm-linux-gcc -DMODULE -D__KERNEL__ -I/opt/FriendlyARM/mini2440/kernel-2.6.13/include -c qq2440_leds
好多错误。这个命令要怎么打,或者对应makefile要怎么编写呢?
谢谢,之前想看看按手册上面进行的对应的makefile中看看,太难读了 好长。
大家能帮我一下吗?
级别: 新手上路
UID: 2497
精华: 0
发帖: 30
金钱: 300 两
威望: 300 点
综合积分: 60 分
注册时间: 2008-11-20
最后登录: 2009-12-24
1楼  发表于: 2009-05-28 21:53
你开发板用的是linux 2.6版本的,而你使用的是linux 2.4的驱动编译方法,当然不对了。
正确作法应当是:

1.准备好你的2。6内核源码 假设目录为:~/kernel-2.6(记得顶层makefile里的 平台为变更为arm-linux-)
2.在你的程序目录里makefile 写入一行obj-m:= qq2440_leds.o
3.再执行make -C ~/kernel-2.6 M=`pwd` modules
级别: 新手上路
UID: 1852
精华: 0
发帖: 21
金钱: 195 两
威望: 183 点
综合积分: 42 分
注册时间: 2008-10-06
最后登录: 2012-12-02
2楼  发表于: 2009-05-29 17:56
谢谢   只是还是有点看不太懂   自己慢慢研究makefile去了   谢谢啦