您的位置:首页 > 编程语言 > PHP开发

通过TFTP来下载ARM程序

2015-05-19 10:39 309 查看
TFTP(Trivial File Transfer Protocol),即普通文件传输协议,是用来传送文件的Internet软件程序,它比文件传输协议(FTP)使用简单,但是功能少。

在嵌入式系统中(特别是在开发初期),TFTP和NFS(网络文件系统)这两种方式常用来,为目标板从服务器上下载程序。下面就详细的介绍TFTP方式的使用,以及可能会出现的问题。

实验环境:

PC机:RedHat Linux9.0

ARM开发板: uClinux-2.4.x

其它:数据线若干

1.如何在Linux下配置TFTP:

首先用 rpm -qa|grep tftp查看是否安装,没有的话,安装一下。如下图所示:



假如已经安装好了,我们可以检查一下配置文件,文件位于/etc/xinetd.d/tftp:



我们可以看到TFTP指定的目录是/tftpboot,所以我们把要下载的文件都放到这个文件夹里就行了,输入命令service xinetd restart重新启动tftp服务。



现在我们的tftp 服务器已经设置完成,可以使用tftp 和minicom 下载程序了,但是有一点需要注意,如果你启动了防火墙,有可能不能正常下载,我们需要打来端口69,在此我们也可以做如下选择,点击[应用程序]->[系统设置]->[安全级别],显示如下图,因为我们的开发办接在eth0 上,所以我们可以选择eth0为信任设备,点击[确定]即可,另外也可以在[其它端口:]的文本框里输入69:udp
也可以。

2.服务器端:

到达/根目录下,看看是否有个tftpboot文件夹,如果没有,新建一个,把来下载到目标板的文件放到里面,本实验所用的是一个简单的hello实验,运行后连续输出10个“hello”,程序如下,编译过程略,





上图红线方框中的hello文件就是待下载到目标板的文件。

3.目标板端:

上电启动,进入uClinux界面,tmp和/var两个目录下是以虚拟ram盘的方法实现的可读写目录(系统掉电后,里边保存的内容全丢失),故在进行符号链接时必须链接到这两个可读写的目录下。



进入tmp目录下,输入指令 tftp 192.168.0.100(服务器IP地址),即进入tftp状态,输入“?”即可看到tftp相的命令,输入 get hello,下载hello文件到目标板,输入quit命令退出TFTP模式,输入ls命令,我们就可以看到hello文件已经下载到了tmp目录下,./hello运行文件,这时会出现提示无法执行,原因是访问权限的问题,输入命令chmod
777 hello修改访问权限:



重新运行,输入运行成功,连续输出10个hello,如下图所示:


http://www.cnblogs.com/hanfigo/archive/2008/09/16/1292006.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: