找回密码
 注册
关于网站域名变更的通知
查看: 386|回复: 1
打印 上一主题 下一主题

迅为4418开发板Linux系统TFTP传输文件

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-2-24 13:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

TFTP(Trivial File Transfer Protocol,简单文件传输协议),是一个基于 UDP 协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场合。TFTP 协议专门为小文件传输4 R: ?* _  ^! `8 b6 B/ J
而设计,只能从服务器上获取文件,或者向服务器写入文件,不能列出目录,也不能进行认证。根据上面关于 TFTP 的介绍,实现 TFTP 需要搭建一个 TFTP 的服务器,iTOP-4418 开发板当做客户端。" }( A# V  m% a5 ?
70.1  搭建服务器4 b3 f, Z/ R* U' y7 \& ~) F
打开虚拟机 Ubuntu 终端,进入 root 用户,输入“sudo apt-get install xinetd”命令安装 xinetd,安装完成如下图。(如果报错,注意检查命令拼写:xinetd)

接下来输入“sudo apt-get install tftp tftpd”安装 tftp 和 tftpd,安装完成如下图。

然后建立 TFTP 的配置文件,使用命令“vi /etc/xinetd.d/tftp”建立文件,如下图。

写入如下内容:
" `, M7 l& X# a+ @3 m4 v* ^! _4 ]service tftp* R: ?  D8 h- S) E
{
7 B' k& Q% i# [: i  _; Hsocket_type = dgram+ f% A6 x/ [- y2 @* U
protocol = udp% D6 ?# V! e; k7 ]
wait = yes8 {* i- ~) \$ D; _+ w% ^
user = root
% Y& J9 O  Y% s" |# {7 fserver = /usr/sbin/in.tftpd
: M5 ~, n  d5 U/ q3 p7 V% F' vserver_args = -s /var/tftpboot/
- A) Q* p& k" p1 _+ }: edisable = no
1 j  B- P, [# L# n# gper_source = 11
9 w- G# x. L4 D  @cps = 100 2
! S. W4 M5 l/ J$ M0 [& R( hflags = IPv4
. z3 j9 x2 ~4 L}

如下图。

注意:如上图所示,这个文件在粘贴内容之后,必须按照上面的格式严格对齐。6 b7 Z* z4 S8 }' a+ `5 e
退出并保存。其中 server_args 设置的/var/tftpboot 目录是 tftp 服务器的目录,TFTP 客户端就是从这个目录里面获取服务器上的文件的。使用命令“mkdir /var/tftpboot”建立 tftp 服务器的目录,然后设置/var/tftpboot 的访问权限为 777,如下图。

输入”sudo /etc/init.d/xinetd restart”命令重启 xinetd 服务,如下图。

服务器到这一步就搭建好了,下面来进行测试。" [4 N: h4 |: m) n
70.2  服务器测试
. U7 c" K; e: t! d本机测试:在/var/tftpboot 下面建立一个文件 test,在里面输入 hello world,然后保存该文件,如下图

再启动另一个终端,然后输入 tftp 127.0.0.1,如下图。

输入 get test 获取 test 文件,然后输入 q 退出 tftp,如下图。

由上图可知,获取到 13 字节的 test。
7 |1 s3 c! u! y% O$ T" k: l* Q然后输入 ls 查看当前目录下是否有 test 文件了,通过查看,发现当前目录下已经有 test 文件了,这就是/var/tftpboot 目录下的那个 test 文件。然后使用 cat 命令查看一下 test 的内容,如下图。

通过上面的截图,看到 test 文件里面的内容是 hello world,与/var/tftpboot 目录的 test 是一样的,至此的 TFTP 服务器端的配置和测试就完成了。
7 m3 |! U2 j$ r( p& ?8 _# `; `现 开发板实现 TFTP 输 文件传输  :
6 y& Y# b' A+ l( g0 y8 k1 ^) O8 D开发板进入系统后,输入“ifconfig”命令查看板子 ip,然后输入“ping 192.168.1.3”命令来测试板子和虚拟机 Ubuntu 之间的网络。如下图。

保证开发板和 ubuntu 在同一网段,开发板可通过修改/etc/eth0-setting 配置网络,

用 ifconfig 查看到 ip 修改有效。在开发板串口输入“tftp -g -l test -r test 192.168.1.3”,并用 cat 命令查看,如下图。

可以看到 ubuntu 端/var/tftpboot 里的 test 文件已经传输到了开发板。


" u0 u0 H1 V5 ~; ~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-24 03:22 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表