5114|7

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

通过串口下载后的程序如何执行? [复制链接]

u-boot可以支持串口下载和网口下载,两种方式下载程序。虽然相对于网口下载,串口下载的速度要慢一些,但是它要比网口下载方便,所以一般不太大的程序用串口下载。具体使用方法如下:
1、打开开发板的电源,使开发板进入u-boot 状态(可使用计算机中的“超级终端”,可通过“开始”→“所有程序”→“附件”→“通讯”→“超级终端”)。
2、输入命令loadb 0x0c008000 回车,然后再工具栏点击“传送”→“发送文件”。
3、在弹出的对话框中,点击“浏览”,找到要下载的bin文件,并在协议的下拉菜单选择kermot,然后单击“发送”,这时所选文件就开始传送。
发送完后会显示所发送文件的起始地址,这时一个文件就通过串口下载到开发板上了。

可是按上面的方法用uboot下载了一个经过mipsel-linux-gcc编译过的文件(因为我们的板子是mips平台)到0x8100000后,怎么执行呢?
是用go 0x8100000吗?
可是之后出现如下情况下就没反应了:
starting application at 0x81000000.......

这是怎么回事呢????
各位帮忙看看!
是不是需要先擦除再下载呢?好像也不行吧?

最新回复

呵,多谢楼上名位的回答!确实有很多东西还是不知道啊 今天终于把程序可以在开发板上运行了,可能真像shuiyan所说的,确实是因为我的开发板上的Linux没有起来。 所以根本就不能运行。 我用下面的方法把程序下载到了内存中就可以运行了 因为我的开发板上没有网卡,所以没法通过tftp或Ftp下载或通过NFS挂载,所以只能用串口下载了,方法如下: 首先在目标板的Linux环境下建立可写目录/tmp,下载文件时在Minicom中操作进入该目录: cd /tmp zmrx 在执行完zmrx后,目标板等待Minicom从串口向它发送数据。按“Ctrl+A”,松开“A”后再按“S”;然后选择Zmodem协议按回车键,选择发送的程序后再按回车键,开始发送文件。 发送完后改变其属性 chmod a+x 文件名 之后就可以用./文件名 运行了,呵,成功了 行是行了,可是当开发板重启之后发现原来下载的文件又没了,后来知道原来只是下载到了内存中,没有真正的下载到Linux文件系统中, 不知道如何才能下载到真正的Linux的tmp目录下呢? 要是下了的话会不会影响到原来Linxu的稳定性?  呵,问题是不是太多了   详情 回复 发表于 2008-6-16 19:32
点赞 关注

回复
举报

69

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
自己顶了!呵
吃饭去
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
你下载的是什么东西?bootloader?kernel镜像?还是应用程序?
 
 
 

回复

51

帖子

0

TA的资源

一粒金砂(初级)

4
 
TO:shuiyan
是应用程序,我想在开发板上运行

其实就是一个很简单的发送数据的程序,想在开发板上发送数据,然后在PC机上的Linux接收

请指教!
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

5
 
貌似linux下的应用程序不是这样运行的。

uboot下载,说明你开发板上的linux系统还没有运行起来,这时怎麽可能运行一个linux应用程序呢?

还有,linux程序,你可以通过串口/usb/网口下载到开发板上的linux系统里的某一个目录下,然后用sh运行它。而不是这样试图直接go。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

6
 
首先要确认下载下去的程序可以运行,包括系统初始化(PLL,SDRAM,以及程序相关部分的硬件初始化)和(CPU状态初始化)。其次可以在程序开始部分加一些打印信息。u-boot只负责把你的程序写入的内存的相关部分,然后将执行0x81000000处的代码。但是如果0x81000000处的代码本身有问题,就会出现这样的现象
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

7
 
再次确认了一下,肯定是linux系统没起来的原因。
应用程序的运行,必须依赖于系统,比如你在PC的BIOS下肯定没法运行DOS程序;而在DOS下肯定没法运行有界面的Windows程序;而在windows下肯定无法运行linux程序。
你的linux应用程序,就必须在linux系统下运行,而uboot只是个引导程序,就像BIOS差不多,当然无法运行。
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

8
 
呵,多谢楼上名位的回答!确实有很多东西还是不知道啊
今天终于把程序可以在开发板上运行了,可能真像shuiyan所说的,确实是因为我的开发板上的Linux没有起来。
所以根本就不能运行。

我用下面的方法把程序下载到了内存中就可以运行了
因为我的开发板上没有网卡,所以没法通过tftp或Ftp下载或通过NFS挂载,所以只能用串口下载了,方法如下:

首先在目标板的Linux环境下建立可写目录/tmp,下载文件时在Minicom中操作进入该目录:
cd /tmp
zmrx
在执行完zmrx后,目标板等待Minicom从串口向它发送数据。按“Ctrl+A”,松开“A”后再按“S”;然后选择Zmodem协议按回车键,选择发送的程序后再按回车键,开始发送文件。


发送完后改变其属性
chmod a+x 文件名
之后就可以用./文件名 运行了,呵,成功了

行是行了,可是当开发板重启之后发现原来下载的文件又没了,后来知道原来只是下载到了内存中,没有真正的下载到Linux文件系统中,
不知道如何才能下载到真正的Linux的tmp目录下呢?
要是下了的话会不会影响到原来Linxu的稳定性?  呵,问题是不是太多了

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表