环境介绍:
开发板:荔枝派nano
芯片:f1c100s
我的错误解决是从此帖看的
一、 错误贴图
illegal instruction
二、原因分析
2.1、f1c100s是arm9架构的,编译应用程序所用的交叉编译工具链得是支持arm9的。而我之前所用的是cortex-A7的交叉编译工具链,可以通过-v选项查看:
所以我换成了这个arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
三、实践
自行下载新的交叉编译工具链、复制到虚拟机、解压后做如下操作:
3.1、配置新交叉编译工具链的环境变量
export ARCH=arm
export CROSS_COMPILE=arm-none-linux-gnueabi-
export PATH=$PATH:/home/book/licheePi-f1c100s/arm-2014.05/bin #这里的路径写自己的
3.2、编译程序
arm-none-linux-gnueabi-gcc -o hello hello.c
3.3、将hello程序放到单板下执行,结果如下:
四、总结新问题
4.1、我的uboot、zImage、设备树用的都是旧交叉编译工具链编译的;根文件系统是用的buildroot的toolchain;而现在应用程序用的新交叉编译工具链编译;对于helloworld程序可以正常运行,对于以后别的程序是否如此,我现在还不够理解。