WhyCan Forum

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132 (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2019-04-23 19:05:38

qifengsvn
会员
注册时间: 2019-04-10
累计积分: 14

求大佬,请教交叉编译问题,动态报Segmentation fault,静态报Illegal instruction(linux4.19rc)

环境:
主机:ubantu14.04+arm-linu-guneabi-
板子:nano F1C100S 16M flash(根文件系统使用的是从官方镜像拆出来的,内核是自己编译的4.19rc版本)

问题描述:尝试在主机交叉编译后,将生成的应用文件在板子上运行,动态编译方式:段错误;静态编译方式:Illegal instruction;感觉很不正常
可能的造成问题的原因:
1、根文件系统非自己编译,而是官方镜像抽出来的,与内核版本不匹配?
2、arm-linu-guneabi-的lib文件需要传递给nano?
3、file 文件类型后如下所示(静态编译):
ELF 32-bit LSB  executable, ARM, EABI5 version 1 (GNU/Linux), statically linked, for GNU/Linux 3.2.0, BuildID[sha1]=d4d21699df3a1927ac238fefca1f2cf1d25a3787, stripped

恳请各位大佬指导!!

离线

#2 2019-04-23 19:23:10

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,847

Re: 求大佬,请教交叉编译问题,动态报Segmentation fault,静态报Illegal instruction(linux4.19rc)

应该是用了错误的工具链,或者使用了默认的配置,导致生成arm9无法识别的指令集

按这个套路走一遍: https://whycan.cn/t_2179.html

离线

#3 2019-09-17 17:40:22

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,847

Re: 求大佬,请教交叉编译问题,动态报Segmentation fault,静态报Illegal instruction(linux4.19rc)

https://whycan.cn/t_2860.html#p23405

应该是用了错误的工具链,或者使用了默认的配置,导致生成arm9无法识别的指令集

试一试这个: arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

离线

页脚