主题 : 有关QQ2440V3交叉编译环境. 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 1082
精华: 0
发帖: 5
金钱: 50 两
威望: 5 点
综合积分: 10 分
注册时间: 2008-07-16
最后登录: 2008-10-27
楼主  发表于: 2008-09-26 12:47

 有关QQ2440V3交叉编译环境.

QQ2440V3 Manual 里介绍建立交叉编译环境是说在Redhat linux9.0 解压arm-linux-gcc-3.3.2.tgz 、arm-linux-gcc-2.95.3.tgz 和arm-linux-gcc-3.4.1.tgz, 然后能编译arm-linux 内核及驱动、应用程序...请问我是否可以用Redhat RHEL4.0来代替Redhat 9.0, 来完成同样的任务?应该没问题吧??

另一问题: 想给QQ2440 linux2.6.13 编一个内核模块, 比如Linux_device_driver_3rd中的hello.c. 在Redhat 9.0下编译; GCC-3.4.1所在目录已加入PATH中; 光盘中的内核原码也解压到/opt/arm/QQ2440/kernel-2.6.13下; Makefile只有一行(obj=m:=hello.o); Makefile and hello.c 都在/home/newbie目录下; 在此目录运行命令: make -C /opt/arm/QQ2440/kernel-2.6.13 M=$(pwd) modules, 但编译失败. error log 在附件中.

多谢指教!
err.txt (1 K) 下载次数:3
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2008-09-26 14:19
1.  用别的PC Linux作为交叉编译环境,理论上是没问题的,但事实上,交叉编译器和PC环境还是有关系的,可能会造成一些无法预料的问题;
2. 关于编译kernel module出错,可以试试在make的命令行上加上V=1来输出完整的编译信息。另外,把hello.c的源代码附上来
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 1082
精华: 0
发帖: 5
金钱: 50 两
威望: 5 点
综合积分: 10 分
注册时间: 2008-07-16
最后登录: 2008-10-27
2楼  发表于: 2008-09-29 11:23
非常感谢KASIM回复!:-)
我的问题已经解决了. 问题出在我把module_exit()敲成module_init(),这样就出现两个module_init()涵数,所以出错. 一直以为是Makefile弄错了, 呵呵....
附上我的hello.c源文件,及make运行结果等,以供比我更新的新手参考!:-)
附件: succ.zip (1 K) 下载次数:4