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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
TFTP(Trivial File Transfer Protocol,简单文件传输协议),是一个基于 UDP 协议实0 ~1 C5 a1 [* H/ \6 Y
现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场
* T) H6 [2 {5 X合。TFTP 协议专门为小文件传输而设计,只能从服务器上获取文件,或者向服务器写入文: l9 ~& @5 z* h2 ]
件,不能列出目录,也不能进行认证。
  c/ `9 U( i7 d( K1 @8 R根据上面关于 TFTP 的介绍,实现 TFTP 需要搭建一个 TFTP 的服务器,iMX6 开发板当做
2 \! F+ E* z- G6 ~( J3 Y" S客户端。& c8 d0 l$ E6 z$ C
1.1 搭建服务器# A- |- r) e# B
打开虚拟机 Ubuntu 终端,进入 root 用户,输入“sudo apt-get install xinetd”命令; T) a1 a, y( p2 Y
安装 xinetd,安装完成如下图。(如果报错,注意检查命令拼写:xinetd)
; X8 B- l& a7 W& ~% K/ E2 Q; i) C3 U2 f$ Y' h
接下来输入“sudo apt-get install tftp tftpd”安装 tftp 和 tftpd,安装完成如下图。& E1 y( U! T, ?/ V
( h* r7 t$ p8 Z0 Y, ^
然后建立 TFTP 的配置文件,使用命令“vi /etc/xinetd.d/tftp”建立文件,如下图。
* _8 r  [- N! ?6 J
6 c: ]% v) S- _; ]4 i5 z4 o9 B写入如下内容:
6 a6 g& ~& b3 Z0 R3 h$ yservice tftp9 C; O. u) W6 n; [
{* o9 b! m# Q$ m0 a( I6 \. H
socket_type = dgram( n7 L4 _" g9 d( Q  Z, e
protocol = udp
: F( |4 Q/ S. M2 t- Rwait = yes1 ]# j2 B$ S1 I" t; F6 N
user = root7 s" H& e2 o% h
server = /usr/sbin/in.tftpd
  b% v. I8 Z8 cserver_args = -s /var/tftpboot/
/ U2 o$ `% @: j- h# P6 z( j" u8 c% U# @disable = no& f4 P* f; ~# p+ n- S
per_source = 111 R( j, A; _3 {5 g5 D* O2 s4 \  g
cps = 100 2
( L, S, D+ E3 z3 @$ cflags = IPv4$ Q3 u  S+ K4 W
}
) ^. M2 ]; {5 v/ @9 \) ^如下图。
( _# ]' u: z6 O; T* S6 w) Y/ I; n' k! e' M5 A; u! R$ {2 K
注意:如上图所示,这个文件在粘贴内容之后,必须按照上面的格式严格对齐。
9 ~% u6 U* H  i" i' A7 b. b退出并保存。其中 server_args 设置的/var/tftpboot 目录是 tftp 服务器的目录,TFTP; D+ ~: M* ^" |
客户端就是从这个目录里面获取服务器上的文件的。使用命令“mkdir /var/tftpboot”建立
6 p$ n) P! i* y: s9 n5 Q# Wtftp 服务器的目录,然后设置/var/tftpboot 的访问权限为 777,如下图。
( Q6 v/ {8 J. C$ h4 Z
0 Q( T6 i! _1 n9 k输入”sudo /etc/init.d/xinetd restart”命令重启 xinetd 服务,如下图。9 K% z  X2 i) H" b' \& u; Q1 ^( `3 C
0 k  a  C9 ^( W8 B% m/ r8 R0 a, r) d
服务器到这一步就搭建好了,下面来进行测试。3 K6 u; n! W' A! Y! c  ?
2.1 服务器测试
9 |7 K6 q, P+ n" W" C2.1.1 本机测试
  k2 h' a% ~; G8 t7 e本机测试:在/var/tftpboot 下面建立一个文件 test,在里面输入 hello world,然后保存& k$ `; t; E3 ?$ ?4 V+ o
该文件,如下图。
# j8 \! @4 O0 E  G, `. Z  v
9 R8 g) L# |# X* }再启动另一个终端,然后输入 tftp 127.0.0.1,如下图。
3 F3 c; A0 [% ~/ Y9 V9 D/ d& G' H" o: n6 c& q7 W
输入 get test 获取 test 文件,然后输入 q 退出 tftp,如下图。8 H. \2 R5 p3 U/ S5 K
4 S- E1 T* l4 t; K# E6 x7 D
由上图可知,获取到 13 字节的 test。
7 e0 j* y2 k8 \( N# f然后输入 ls 查看当前目录下是否有 test 文件了,通过查看,发现当前目录下已经有 test% |+ W5 u$ Q* x1 d1 ]
文件了,这就是/var/tftpboot 目录下的那个 test 文件。然后使用 cat 命令查看一下) m( [& ~) p/ V  v3 A. U0 K2 m1 _
test 的内容,如下图。
% \) e* U; H3 H0 ^
5 n+ M6 M: o$ g! y0 k通过上面的截图,看到 test 文件里面的内容是 hello world,与/var/tftpboot 目录的
, [; Q% K9 Q  u$ O4 C* K9 Utest 是一样的,至此的 TFTP 服务器端的配置和测试就完成了。5 u4 T, t: A# ]% y0 j( M
2.1.2 开发板实现 TFTP 文件传输
6 I4 @$ j0 n* W5 WiMX6 开发板进入系统后,输入“ifconfig”命令查看板子 ip,然后输入“ping$ Z& D9 W% e& A0 J# `
192.168.3.183”命令来测试板子和虚拟机 Ubuntu 之间的网络。如下图。: U  H3 e3 Q2 n( ?/ m' q% E1 }( f

- H8 b/ e4 Z9 k* V, @由上图可知,开发板和虚拟机的网络是连通的。这里”192.168.3.183”ip 是虚拟机
9 \) C' d- ~* p& Y) N2 LUbuntu 的 ip。如果用 ifconfig 查看到的开发板 ip 和虚拟机 Ubuntu 的 ip 不在同一网段,则; K* c+ o4 y' D
可以通过修改开发板的”/etc/eth0-setting”文件来修改 ip,如下图。
+ `1 O4 @0 \' v6 L7 Z" U$ s
% ?* c* [2 }6 |$ T修改完成后,重启开发板。用 ifconfig 查看到 ip 修改有效。* D5 l; k5 n( h8 f( ?; B0 V% u
在开发板串口输入“tftp -g -l test -r test 192.168.3.183”,并用 cat 命令查看,如下图。
& q, c* H% G  `( U
( [5 c: B% }# y* i- s/ x由上图可知,获取到的 test 文件的内容和 TFTP 上文件的内容是一样的,至此 TFTP 搭建
& I8 v0 K0 v) G, T6 G2 F" S2 }以及测试全部完成。以后再调试程序的时候可以用 TFTP,不用再来回拔插、挂载 U 盘了。
! P- x- I' u* v* w
  • 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 00:36 , Processed in 0.171875 second(s), 23 queries , Gzip On.

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

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

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