下载‘可执行文件’到开发板Linux系统‘不好运行’之“对策求解”
1、在2440的开发板里面已经下载了uboot、linux内核、文件系统;
2、把自己编写的文件man.c实现简单的流水灯功能(是用裸机的方式写的),用交叉编译器编译;
Makefile如下:
CROSS=arm-linux-
main: main.c
$(CROSS)gcc -o main main.c
clean:
rm *~
编译后,生成main二进制可执行文件;
3、启动开发板上的linux系统,在SecureCRT下,用
# rz 命令
把main下载到开发板的/sbin目录下,用
#chmod +x main 修改main权限后
# ./main (或仅为 main)
SecureCRT界面上显示, -/bin/sh : main : command not found
也就是sh找不到命令,程序运行不起来啥的;
4、求教各位大侠,什么原因?
我猜的可能的原因有:
1)是Makefile里面没有定义程序运行的基址地址,用上述方法编写的程序是位置无关的吗?
2)是不是不可以用裸机方式写程序,是加了系统后有些内存空间被保护起来了;
3)还是文件生成的格式不对?
4)还是main文件要向系统注册啥的,就是告诉系统我有了啥?
5、搞了半天实在没搞出来,在学校的实验室网不好也没多查的啥,就看了几个开发板商的使用手册,实在找不出原因。搞的偶实在是笨溃了,在这向各位大侠求教了 !!!! |