我在电脑上的linux下 交叉编译过和现实hello的小程序(a—arm的文件名) 在linux下 file过那个交差编译后的文件 是arm elf的格式。但是下到我的2440开发板上怎么也不能用。我按网上找的做过了
————“在嵌入式Linux上执行应用程序时,出现“-/bin/sh: ./xxx: not found”,经分析,在Linux操作系统上执行应用程序时, 首先要把程序装载进内存中,完成该功能的是装载器。在PC平台上的Linux中发现,在lib目录下存放很多库文件,其中 就有装载器对应的库文件(ld.so和ld-linux.so)、libc.so等。在我的嵌入式Linux的根文件系统的lib目录下没用库文件, 解决的方法是把交叉编译器对应的lib目录下的库文件拷贝到嵌入式Linux的根文件系统的lib目录下即可,这些库文件可以 使用交叉编译器的strip工具以减小其大小,从而减少其所占存储空间。
如果没有库也可以使用如下命令编译(产生的可执行程序比较大)
arm-liux-gcc -o hellow hellow.c -static”——————
在开发板上执行 echo "abcde" 也有输出 abcd
但是./a—arm的文件却出现了
[root@utu-linux /]# chmod 777 a_arm
[root@utu-linux /]# ./a_arm
Segmentation fault
[root@utu-linux /]#
这个问题困扰很久了 请大家帮个忙 谢谢了 |