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

迅为iMX6开发板-Linux系统-TFTP使用文档

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-9-17 16:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

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

x
TFTP(Trivial File Transfer Protocol,简单文件传输协议),是一个基于 UDP 协议实
/ n* _, I4 m5 f* E- ?# T现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场
$ v# M5 \! @/ m. C* b; X' A. x1 y, d合。TFTP 协议专门为小文件传输而设计,只能从服务器上获取文件,或者向服务器写入文
5 x' n3 {2 `& H  ?件,不能列出目录,也不能进行认证。
  }2 |8 [: B% D- t. p1 K根据上面关于 TFTP 的介绍,实现 TFTP 需要搭建一个 TFTP 的服务器,iMX6 开发板当做8 {1 _3 _# J6 }6 F6 `- b: x- K
客户端。+ x. [! k( h: M+ i' @* j1 @
1.1 搭建服务器
9 L$ s1 J$ [5 O5 y1 V打开虚拟机 Ubuntu 终端,进入 root 用户,输入“sudo apt-get install xinetd”命令4 P3 V, r& A6 h$ c4 m% S: x. z% V
安装 xinetd,安装完成如下图。(如果报错,注意检查命令拼写:xinetd), y( a, T* _, @

- i/ q: y5 E8 d# w; f- |接下来输入“sudo apt-get install tftp tftpd”安装 tftp 和 tftpd,安装完成如下图。
; Q7 ?9 v- a5 `8 ?  r1 s9 m, O( U2 A3 B9 A+ V) O
然后建立 TFTP 的配置文件,使用命令“vi /etc/xinetd.d/tftp”建立文件,如下图。  @+ r' V6 k, Z/ c6 D; c

1 K* U- c8 z; A2 l6 h: e& d写入如下内容:
) L" g7 q  c3 `) w) M% N3 Mservice tftp0 J  |% S! H# O2 ]7 u5 s
{# ], |6 d6 J0 t6 w* t
socket_type = dgram  |, \2 H; @8 D! H& T' g  @. p! |
protocol = udp
. x  M# V3 N6 fwait = yes
4 p* P, A: {2 _5 r" \user = root7 O  l8 _6 I3 g% s( ?- v
server = /usr/sbin/in.tftpd7 e$ P2 ^9 p) u. h/ R
server_args = -s /var/tftpboot/. x+ e+ V% w: n" Q# N
disable = no
5 T4 i: Q5 D  b. i. R5 q  _per_source = 11
2 b3 N" i3 J+ i8 X/ Jcps = 100 2
3 x- }4 @$ z$ N  d( u4 o! x. O% [3 Mflags = IPv4
9 ^: t- s0 X; O4 |1 G# I4 q7 c3 V}
0 {" l+ a# \. Q; ^6 f) \5 j如下图。
+ i, T* }/ Y7 H0 @* I6 Q  P4 X: G1 ]5 ^
注意:如上图所示,这个文件在粘贴内容之后,必须按照上面的格式严格对齐。  g2 U1 e8 b- Y& k# b6 m; v
退出并保存。其中 server_args 设置的/var/tftpboot 目录是 tftp 服务器的目录,TFTP
& F- x" F$ C- p- M6 L客户端就是从这个目录里面获取服务器上的文件的。使用命令“mkdir /var/tftpboot”建立
9 ^% b/ q& X3 x) U4 `: N* G& wtftp 服务器的目录,然后设置/var/tftpboot 的访问权限为 777,如下图。
9 q7 t0 ^7 p1 ~$ N- k/ _/ F7 ]9 i2 @! n1 p3 q$ b* s2 h+ S' Q) w
输入”sudo /etc/init.d/xinetd restart”命令重启 xinetd 服务,如下图。5 S& @" a1 ?7 |1 ^
/ R$ y/ A0 M2 M5 ~, G7 H
服务器到这一步就搭建好了,下面来进行测试。0 o: r4 c% \" I+ v! G# `8 H& @/ X  B
2.1 服务器测试/ S4 n8 D* S3 }1 {7 q
2.1.1 本机测试& R4 M& X/ T& `& J& s- g
本机测试:在/var/tftpboot 下面建立一个文件 test,在里面输入 hello world,然后保存
1 w* n5 P( w/ K: L8 J该文件,如下图。6 m% u% {2 F! w
$ G& e- p; ~5 l  ~
再启动另一个终端,然后输入 tftp 127.0.0.1,如下图。9 v# V* P& l3 {( |' \

. W4 ^5 {) E! d" R! o4 j" [: @7 `输入 get test 获取 test 文件,然后输入 q 退出 tftp,如下图。7 W) I( K& u3 I# Z  w  b
+ f6 Q; ?! c6 Z$ a, \' ]2 g
由上图可知,获取到 13 字节的 test。
, b- p8 x0 _* n: ^8 Z/ x然后输入 ls 查看当前目录下是否有 test 文件了,通过查看,发现当前目录下已经有 test) a; O4 Y% M7 K2 F
文件了,这就是/var/tftpboot 目录下的那个 test 文件。然后使用 cat 命令查看一下
* B$ N4 G3 Z8 Y& O3 t( ~4 L3 A) Xtest 的内容,如下图。* d9 W$ G/ x6 X! u* G4 I! T

3 ]1 P' J: F/ V- }) G- s' `通过上面的截图,看到 test 文件里面的内容是 hello world,与/var/tftpboot 目录的
/ S  u0 @& J9 Q" C+ btest 是一样的,至此的 TFTP 服务器端的配置和测试就完成了。! D- g! ]& C" V, }6 Q& R: C4 o
2.1.2 开发板实现 TFTP 文件传输
8 K1 b& X  Q5 L# UiMX6 开发板进入系统后,输入“ifconfig”命令查看板子 ip,然后输入“ping
- z- U- |: c5 }6 z, s% k# L" `192.168.3.183”命令来测试板子和虚拟机 Ubuntu 之间的网络。如下图。+ j- z5 y5 z. [6 I+ Y
: N" I7 T- X, o6 G( ]7 ]5 D: T4 n
由上图可知,开发板和虚拟机的网络是连通的。这里”192.168.3.183”ip 是虚拟机
' h6 e, L1 N: F3 L( h( }Ubuntu 的 ip。如果用 ifconfig 查看到的开发板 ip 和虚拟机 Ubuntu 的 ip 不在同一网段,则+ S8 N8 o+ k, r9 r* k% R
可以通过修改开发板的”/etc/eth0-setting”文件来修改 ip,如下图。
+ a' w* E6 C7 a% z/ Q2 t7 ~$ p8 c2 V* N* v$ u" X
修改完成后,重启开发板。用 ifconfig 查看到 ip 修改有效。& J/ q+ \/ j, T3 _
在开发板串口输入“tftp -g -l test -r test 192.168.3.183”,并用 cat 命令查看,如下图。7 [+ g, G2 [1 [( ~

. x6 I0 e  U5 ^; M" Y8 w4 K8 q由上图可知,获取到的 test 文件的内容和 TFTP 上文件的内容是一样的,至此 TFTP 搭建1 V. u; u" q$ H7 M1 `' W( t
以及测试全部完成。以后再调试程序的时候可以用 TFTP,不用再来回拔插、挂载 U 盘了。
0 P: q, [' R) j- P$ P6 e7 Q& {5 l% C  T
  • TA的每日心情
    开心
    2023-6-2 15:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-9-18 09:48 | 只看该作者
                   
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-25 01:32 , Processed in 0.203125 second(s), 25 queries , Gzip On.

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

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

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