ld-linux-armhf.so.3 error reading问题解决方案

最近在板子上调试程序遇到一个问题,通过串口下载的程序在搭建好的板子环境上无法运行。

gdb调试指令失效,程序无法运行。改用file指令查看,提示我如下错误:

interprter /lib/ld-linux-armhf.so.3 error reading(Invalid argument)

标题

换用readelf指令查看二进制文件信息,错误如下:

标题

经此确认,问题为 此程序运行需要ld-linux-armhf.so.3动态库。在网上查找解决方案。解决方案如下:

在/etc/profile文件中添加:

export LD_LIBRARY_PATH=/lib:$LD_LIBRARY_PATH

在/lib目录下执行以下语句

ln -s ld-2.21.so ld-linux-armhf.so.3

解决方案的分歧从这开始,正常的执行结果应该是运行成功,然后二进制文件执行成功。

但是在我的电脑上,出现了以下错误:

ln : failedto create symbolic link 'ld-linux-armhf.so.3': File exists

经过查找,该文件确实存在,但是二进制文件依然无法执行。

重新尝试N多次之后,放弃,程序依然无法执行

后来改换思路,是否是文件传输过程中存在问题。然后将内存卡从板子上取下,通过读卡器接到主机上,直接拷贝运行文件,在重新接入板子上,运行,成功! 

最终确定问题的根源在于串口通信的过程中,导致二进制文件中的某些信息丢失,造成程序无法执行。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值