通过TFTP来下载ARM程序

 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查看是否安装,没有的话,安装一下。如下图所示:

通过TFTP来下载ARM程序_第1张图片
      

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

通过TFTP来下载ARM程序_第2张图片

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

通过TFTP来下载ARM程序_第3张图片

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

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

通过TFTP来下载ARM程序_第4张图片

 

通过TFTP来下载ARM程序_第5张图片

      上图红线方框中的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修改访问权限:

通过TFTP来下载ARM程序_第6张图片

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

通过TFTP来下载ARM程序_第7张图片


http://www.cnblogs.com/hanfigo/archive/2008/09/16/1292006.html

你可能感兴趣的:(通过TFTP来下载ARM程序)