Ray_buaa 发表于 2010-5-11 14:23:48

Illegal instruction

在开发板上运行Qt程序时产生Illegal instruction 的错误 ,我用的是linux-2.6.9内核,arm-linux3.3.2的交叉编译器qt-embed 4.4.3,那个牛人帮忙解答一下?

亚瑟王 发表于 2010-5-11 17:17:14

建议你使用天嵌科技提供的内核、qt源码和交叉编译器。

Ray_buaa 发表于 2010-5-11 17:23:01

问题补充一下,我用qmake 生成一个普通的可执行文件是在开发板上能正常运行,用qmake生成一个调用QtGui的Qt程序时产生Illegel Instruction 的错误

亚瑟王 发表于 2010-5-11 18:05:53

你使用的是天嵌科技的TQ2440开发板吗?天嵌科技没有提供过2.6.9的内核。

Ray_buaa 发表于 2010-5-11 18:40:38

我使用的是别的公司的开发板

亚瑟王 发表于 2010-5-13 17:01:02

建议你去咨询你所购买的开发板的那家公司。

Ray_buaa 发表于 2010-5-14 16:37:03

我用的XScale系列的芯片,Inter Xscale这款新型高性能、低功耗的微构架兼容arm v5 te isa指令集,不过不支持浮点指令集。这是为了节省处理器芯片体积和降低运行功耗,XScale体系结构没有实现昂贵的浮点运算部件和除法部件。这些是嵌 入式应用中不常用的运算。当需要这类运算时,要通过软件方法实现。因此必须采用支持浮点运算的交叉编译器来编译XScale上运行的程序,否则就会产生illegal instruction 的错误。
换了个交叉编译器就好了。
详细请看http://hi.baidu.com/adrain001/blog/item/7a40ac08777b409d0a7b82ac.html

卡卡西莫多 发表于 2012-10-8 10:00:38

亚瑟王 发表于 2010-5-11 18:05 static/image/common/back.gif
你使用的是天嵌科技的TQ2440开发板吗?天嵌科技没有提供过2.6.9的内核。

我的TQ2440板没有动过,是出厂默认的LINUX,我把QTCREATOR编译的程序考进去,显示illegal instruction,原因可能在哪里啊?编译的是光盘示例程序

亚瑟王 发表于 2012-10-8 11:27:37

卡卡西莫多 发表于 2012-10-8 10:00 static/image/common/back.gif
我的TQ2440板没有动过,是出厂默认的LINUX,我把QTCREATOR编译的程序考进去,显示illegal instruction,原 ...

你烧写的文件系统是qtopia 2.2.0的?还是qt4的?然后你做的应用程序是qt4的吗?

卡卡西莫多 发表于 2012-10-8 15:39:17

亚瑟王 发表于 2012-10-8 11:27 static/image/common/back.gif
你烧写的文件系统是qtopia 2.2.0的?还是qt4的?然后你做的应用程序是qt4的吗?

QT4文件系统,是光盘的示例程序,不是我做的

亚瑟王 发表于 2012-10-8 16:46:41

卡卡西莫多 发表于 2012-10-8 15:39 static/image/common/back.gif
QT4文件系统,是光盘的示例程序,不是我做的

你的应用程序呢?怎么编译出来的?

卡卡西莫多 发表于 2012-10-8 16:51:04

亚瑟王 发表于 2012-10-8 16:46 static/image/common/back.gif
你的应用程序呢?怎么编译出来的?

qmake -project,qmake,make。。。。。。。。。手册上有个setARM_env,我source这个导入变量时,说没有那个目录或者文件。。。。。但是MAKE能通过

亚瑟王 发表于 2012-10-8 16:56:21

卡卡西莫多 发表于 2012-10-8 16:51 static/image/common/back.gif
qmake -project,qmake,make。。。。。。。。。手册上有个setARM_env,我source这个导入变量时,说没有那个 ...

1、你用qmake命令,而不是用的$QMAKE,前者是PC自带的,也就是x86的。后者在天嵌科技的教程里面和实际应用中是arm版本的。也就是说,你编译的应用程序是PC端运行的,x86的,而不是开发板端运行的。
2、执行setARM_env报什么错呢?在执行这个之前,必须先编译出arm版本的qt库才行。

卡卡西莫多 发表于 2012-10-8 16:59:38

亚瑟王 发表于 2012-10-8 16:56 static/image/common/back.gif
1、你用qmake命令,而不是用的$QMAKE,前者是PC自带的,也就是x86的。后者在天嵌科技的教程里面和实际应用 ...

已经编译好了ARM板的QT库了的,以前执行 source setARM_env都没报错,现在说“没有那个文件或者目录”;我就是用qmake命令啊,按照手册上在脚本写$QMAKE,执行不了./arm_project

亚瑟王 发表于 2012-10-8 17:22:55

卡卡西莫多 发表于 2012-10-8 16:59 static/image/common/back.gif
已经编译好了ARM板的QT库了的,以前执行 source setARM_env都没报错,现在说“没有那个文件或者目录”;我 ...

你在哪里执行的呢?
页: [1] 2
查看完整版本: Illegal instruction