知方号

知方号

Linux学习笔记七:下载文件到开发板<怎么用tftp给设备传文件>

Linux学习笔记七:下载文件到开发板

目录 一、概述二、Ubuntu2.1 搭建2.2 测试2.3 疑问 三、开发板3.1 查看IP3.2 测试网络3.3 从Ubuntu获取文件

一、概述

前面将交叉编译后的hello文件下载到开发板,使用了U盘拷贝的方式。这样比较繁琐,且需要时刻准备一个U盘。 这篇笔记就记录如何通过搭建TFTP服务器来实现文件传输。只需要一根网线就可以了。后续的学习中都采用这种方式。 搭建TFTP服务器,需要在电脑Ubuntu和开发板上分别进行设置。设置略显麻烦,但是一劳永逸。

二、Ubuntu 2.1 搭建

首先安装 xinetd,然后安装 tftp 和 tftpd

sudo apt-get install xinetdsudo apt-get install tftp tftpd

新建 TFTP 的配置文件:

vi /etc/xinetd.d/tftp

文件内容如下: 其中server_args 设置的/var/tftpboot 目录是 tftp 服务器的目录。 我们在本地建立此目录,修改目录权限后,重启xinetd 服务:

mkdir /var/tftpbootchmod 777 /var/tftpbootsudo /etc/init.d/xinetd restart

2.2 测试

在tftp 服务器的目录下创建一个test文件用于测试,在test内写入简单信息,如:test

启动另外一个终端

tftp 127.0.0.1

这时就会变成tftp>开头,指示可以使用tftp指令

使用get 文件名指令获取文件此处就是:

get test

可以看到文件长度和耗时。 获取完成后输入 q 即可退出 tftp。

查看获取结果。在当前目录下使用 ls 查看,可以发现多了一个 test 文件,使用cat查看test内容,与我们创建的测试文件一致。 也可以修改下服务器目录下的test内容,重新get一下,可以获取到最新的文件。

2.3 疑问

创建的test文件内只有一个test。但是在上面的截图中可以看出,使用cat查看时,多输出一个空行,且通过tftp服务器获取时,文件长度是6。

三、开发板

通过网线实现TFTP传输,需要开发板、Ubuntu在同一网段。也就是IP地址和子网掩码进行位与,得到结果一致即可。

3.1 查看IP

首先查看开发板的IP地址: IP=192.168.1.230 子网掩码=255.255.255.0

查看windows下的IP地址 IP=192.168.1.102 子网掩码=255.255.255.0

再查看下Ubuntu的IP地址 IP=192.168.1.72 子网掩码=255.255.255.0

3.2 测试网络

因为子网掩码为255.255.255.0,所以只要IP的前3段一样,那么位与结果就一样了。开发板已经与windows、Ubuntu在同一网段了,首先用开发板ping一下windows: 再用开发板ping一下Ubuntu:

3.3 从Ubuntu获取文件

现在使用命令tftp -g -l test -r test 192.168.1.72来测试下: 命令的第一个test是获取到开发板后的名称,可以随意命名;第二个test是Ubuntu端要获取的文件名称,Ubuntu要确实有该文件才行,否则会获取超时;最后的IP地址是Ubuntu的IP地址。

查看下test内容,与Ubuntu一致:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。