主题 : Tiny6410:Helloworld移植问题求解 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 114282
精华: 0
发帖: 12
金钱: 60 两
威望: 12 点
综合积分: 24 分
注册时间: 2015-04-09
最后登录: 2016-02-29
楼主  发表于: 2015-06-23 10:10

 Tiny6410:Helloworld移植问题求解

一、操作环境:RedHat6、虚拟机、TQ2440(天嵌)
1)最开始我使用的是arm-linux-gcc 4.3.2的版本;自己编写Helloworld程序移植到2440上出错;
2)然后使用ARM-Linux GCC 4.4.3 版本,移植到2440同样出错;
3)两种错误一样:segemention fault;

二、操作环境:重新搭建了一套虚拟机环境,使用我手头购买的国嵌的Tiny6410板子。
1)更换了最新的友善官网的arm-linux-4.5.1(最新的你们的百度云下载的),问题还是重现;
2)若自己编写的Helloworld,代码如下:
#include <stdio.h>
int main(void)
{
  printf("HelloWorld");
  return 0;
}
a.编译方法:arm-linux-gcc helloworld.c -o helloworld;
b.开发板操作:出厂的tiny6410环境;
c.开发板运行报错:segemention fault;
d.然后我尝试编译:arm-linux-gcc helloworld.c -o helloworld -static;在开发板运行同样的错误

3)若使用官方提供的demo之LED,使用它们自己的Makefile,去make;
a.编译方法:示例中的Makefile去make;
b.开发板操作:出厂的tiny6410环境——》
            /ect/rc.d/init.d/leds stop——》
            然后运行./led 1 0
c.开发板运行报错:“-/bin/sh:./led:Input/output error”
级别: 新手上路
UID: 114282
精华: 0
发帖: 12
金钱: 60 两
威望: 12 点
综合积分: 24 分
注册时间: 2015-04-09
最后登录: 2016-02-29
1楼  发表于: 2015-06-23 15:27
请问人哪儿去了,电话里面就是拖字诀,论坛上是了无人烟。
级别: 新手上路
UID: 114282
精华: 0
发帖: 12
金钱: 60 两
威望: 12 点
综合积分: 24 分
注册时间: 2015-04-09
最后登录: 2016-02-29
2楼  发表于: 2015-06-23 21:59
问题我已经自行解决了,供大家参考
######################################
经过排查推敲,问题出在使用SercureCRT自带的rz命令上(不论是以ASCII 码方式还是非ASCII码方式)。
1)进一步:使用tftp命令解决问题:
tftp -gr HelloWorldG++ 192.168.1.200
tftp -gr HelloWorldGCC 192.168.1.200
2)开发板运行效果:
[root@FriendlyARM Demo]# ./HelloWorldGCC
HelloWorld.
[root@FriendlyARM Demo]# ./HelloWorldG++
HelloWorld.