编译linux系统到开发板,下载‘可执行文件’到开发板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找不到命令,程序运行不起来啥的;

求教各位大侠,什么原因?

我猜的可能的原因有:

是Makefile里面没有定义程序运行的基址地址,用上述方法编写的程序是位置无关的吗?

是不是不可以用裸机方式写程序,是加了系统后有些内存空间被保护起来了;

还是文件生成的格式不对?

还是main文件要向系统注册啥的,就是告诉系统我有了啥?

5、搞了半天实在没搞出来,在学校的实验室网不好也没多查的啥,就看了几个开发板商的使用手册,实在找不出原因。搞的偶实在是笨溃了,在这向各位大侠求教了  !!!!

|

建议楼主交叉编译一个显示hello world的简单程序——就是printf语句,使用交叉编译,再使用那些命令下载到开发板上,如果能在串口中打印信息,证明程序、运行等等是没有问题的。

之后再考虑流水灯程序。

从-/bin/sh : main : command not found  看来,应该不是程序本身的问题,可能要涉及到文件系统方面的东东了。

|

首先,请问楼主编译开发板库的arm-linux-gcc和你编译程序的arm-linux-gcc一样吗?如果不一样很有可能出现库不匹配的情况,出现运行#./main comand not found。

然后咱们再根据提示慢慢改编裸机程序,以实用开发板。

|

有file命令吗? file main看看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值