第十七节 Linux系统编程-开发板实现 TFTP 文件传输(一)

-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.

第一:

本章导读

本章介绍如何使用 TFTP 服务器在开发板和虚拟机的 Ubuntu 进行传文件

 

同一网段的概念

概念需要结合 IP 地址以及子网掩码

1)IP 地址: 

下图 Ubuntu 的 IP 地址是 192.168.0.109

第十七节 Linux系统编程-开发板实现 TFTP 文件传输(一)_第1张图片

再来看一下开发板的 IP,如下图所示,在查看最小文件系统的 etc 文件可以看到默认的 IP地址为 192.168.1.230

第十七节 Linux系统编程-开发板实现 TFTP 文件传输(一)_第2张图片

最小系统在开发板上运行的时候,也可以使用 vi 命令来修改 IP 地址。

 

2)子网掩码

子网掩码的查询和 IP 的查询方式一模一样。
如下图所示,使用 ifconfig,可以查看 Ubuntu 系统下的子网掩码,下图表面 Ubuntu 的子网掩码是 255.255.255.0。

第十七节 Linux系统编程-开发板实现 TFTP 文件传输(一)_第3张图片

再来看一下开发板的子网掩码,如下图所示,在查看最小文件系统的 etc/eth0-setting 文件可以看到默认的子网掩码。

第十七节 Linux系统编程-开发板实现 TFTP 文件传输(一)_第4张图片

如上图所示,是运行着的最小 linux 系统,也是可以查询和修改子网掩码

 

第二:

 确认 IP 在同一网段

如果大家计算发现 Ubuntu 系统的 IP 和开发板的 IP 不在同一网段,则需要修改开发板的IP。

计算方法是:两个 IP 分别和相应的子网掩码做与运算,得出的结果相等则表明在同一网段。

 

例子:

buntu 系统的 IP 和子网掩码分别是:192.168.0.226 和 255.255.255.0
开发板的 IP 地址和子网掩码分别是:192.168.1.230 和 255.255.255.0

进行与运算需要转换为二进制
Ubuntu 系统:
IP:       11000000 10101000 00000000 11100010
MASK:11111111 11111111 11111111 00000000
Result 二进制:11000000 10101000 00000000 00000000
Result 十六进制:192.168.0.0
开发板:
IP:11000000 10101000 00000001 11100110
MASK:11111111 11111111 11111111 00000000

Result 二进制:11000000 10101000 00000001 00000000
Result 十六进制:192.168.1.0
对比上面两个十六进制结果,可以发现这两个例子中的 IP 地址并不在同一个网段。开发板
需要重新根据路由器或者交换机来修改 IP。

 

第三:

根据实际情况修改 IP 和子网掩码

一.准备工作:

1)如下图所示,作者的路由器地址为 192.168.0.100,大家根据实际情况登陆路由器,路由器背面一般都有这个地址,如果没有查一下路由器的手册

注意上图中 WAN 设置界面中的网关是 192.168.0.100,这个是广域网的网关,实验中使用的是局域网的网关,需要选择“LAN 口设置”再查找网关。
如下图所示,选择 DHCP 服务器,这里会有一个分配局域网中的 IP 区间。也就是说 IP 可以设置为 192.168.0.100 到 192.168.0.199 这个区间。

第十七节 Linux系统编程-开发板实现 TFTP 文件传输(一)_第5张图片

 

2)如下图所示,选择“LAN 口设置”再查找,子网掩码为 255.255.255.0。
另外在后面的 NFS 文件系统实验的时候需要上面的 192.168.0.1 这个地址,可以把这个地址看成局域网的网关,而不能使用 WAN 中的网关!

第十七节 Linux系统编程-开发板实现 TFTP 文件传输(一)_第6张图片

了解了 IP 地址,子网掩码,查看了路由器设置之后,首先可以确定子网掩码为255.255.255.0,然后 IP 地址可以处于 192.168.0.100 到 192.168.0.199 这个区间。大家可以在这个区间取一个地址(我选取的是198)来计算。

 

二.开始修改工作:

1)在开发板上修改地址

2)改成192.168.0.198

第十七节 Linux系统编程-开发板实现 TFTP 文件传输(一)_第7张图片

3)重启

4)ping虚拟机IP地址

连接开发板的网口到路由器上,然后输入 ping 命令确认开发板和 TFTP 服务器是连通的,如下图

第十七节 Linux系统编程-开发板实现 TFTP 文件传输(一)_第8张图片

最后根据大家的实际情况,确认了 IP 地址和 MASK 地址之后,修改最小 linux 系统中的etc/eth0-setting 文件,将它们的 IP 设置到同一网段!
弄明白“同一网段”的概念之后,后面和网络相关的实验会简单很多。

 

三:测试服务器连通

如果返回上面的信息就表示开发板和 TFTP 服务器是连通的,现在获取 TFTP 上的文件,在开发板的串口输入:tftp -g -l test -r test 192.168.0.102,如下图。

第十七节 Linux系统编程-开发板实现 TFTP 文件传输(一)_第9张图片

执行完上面的命令,已经把 TFTP 上的 test 文件下载到开发板的当前目录下了,使用 cat查看当前目录下 test 文件中的内容,如下图。

通过上面的截图,可以看到文件的内容和 TFTP 上的文件内容是一样的,至此 TFTP 搭建完成了,以后再调试程序的时候可以用 TFTP,这样就避免了每次都要生成镜像,烧写镜像了。

 

 

 

 

你可能感兴趣的:(第十七节 Linux系统编程-开发板实现 TFTP 文件传输(一))