Linux——Linux系统编程之基于TFTP实现服务器与开发板间的文件传输实战总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux——Linux系统编程之基于TFTP实现服务器与开发板间的文件传输实战总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3738字,纯文字阅读大概需要6分钟。
内容图文
![Linux——Linux系统编程之基于TFTP实现服务器与开发板间的文件传输实战总结](/upload/InfoBanner/zyjiaocheng/933/ab9a5f41bfc240a4b49b7e83c7d06b1f.jpg)
目录
0 引言
我们前面总结的Linux字符设备、串口编程博文中,在虚拟机中编译得到可执行文件后,都是通过U盘连接开发板进行测试验证的,或者就是把可执行文件编译到最小系统中,再OTG烧写进开发板,这两种方法都比较麻烦,这里我们就提供一种简单方法,TFTP文件传输,PC机和开发板之间连接一根xx线即可。
1 TFTP服务器搭建
要实现服务器与开发板之间的TFTP文件传输,首先要在PC机虚拟机中搭建个Ubuntu服务器,开发板作为客户端。
1.1 TFTP基础
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,端口号为69。它基于UDP协议,专门为小文件传输设计,只能从服务器上获取文件,或者向服务器写入文件,不能列出目录,也不能进行认证。
优点 | 缺点 |
1)用于UDP环境,比如当需要将程序或者文件同时向许多机器下载时就往往需要使用到TFTP协议; 2)TFTP代码所占的内存较小,非常适用于简单的Linux嵌入式设备,这些设备不需要硬盘,只需要固化了TFTP、UDP和IP的小容量只读存储器即可; 3)不需要验证客户端的权限,在局域网中调试设备时传输文件就减少了很多步骤。 | TFTP是一个传输文件的简单协议,此协议设计的时候是进行小文件传输的。因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录。 |
1.2 Ubuntu搭建TFTP服务器
1)安装xinted:apt-get install xinetd
Xinetd:即extended internet daemon,是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务。Xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。原则上任何系统服务都可以使用xinetd,然而最适合的应该是那些常用的网络服务,并且这个服务的请求数目和频繁程度不会太高。像DNS和Apache就不适合采用这种方式,而像FTP、Telnet、SSH等就适合使用xinetd模式。
2)安装tftp和tftpd:apt-get install tftp tftpd
3)建立TFTP配置文件:sudo gedit /etc/xinetd.d/tftp,内容如下:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/tftpboot/
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
4)建立TFTP服务器的目录,并设置访问权限:mkdir /var/tftpboot、chmod 777 /var/tftpboot
5)重启xinetd服务:sudo /etc/init.d/xinetd restart
1.3 测试TFTP服务器
在/var/tftpboot目录下建立个test测试文件,输入内容hello:
新开启一个终端,连接本机tftp服务器,获取test文件到当前目录下:
以上测试OK,搭建TFTP服务器成功。
2 开发板实现TFTP文件传输
2.1 同一网段
局域网中经常会出现“同一网段”这个概念,如果没有计算机基础,一般都会很蒙,所谓的同一网段,就是IP和子网掩码做与运算,结果相同就表示在同一网段,既可以进行局域网的通信。
虚拟机Linux系统查看IP:ifconfig
开发板最小系统查看IP:cat /etc/eth0-settings
由以上可知,两个IP不在同一个网段,所以要想进行通信,就需要进行配置。
2.2 配置
这里我们需要修改下开发板的默认IP,原来是192.168.1.230,但是修改成多少呢?既然是IP和和子网掩码255.255.255.0做与运算,只要IP的前三位一致就可以在一个网段了,具体最后一位怎么设置,我们要查看路由器LAN口设置的IP范围,一般路由器的地址都是192.168.0.1,网页中输入即可查看自己的路由器了。如下仅举例,说明可以设置的IP范围:
然后,通过超级终端修改开发板的IP即可,在/etc/eth0-setting中修改。
2.3 客户端与服务器的通信
开发板制作的 linux最小文件系统支持 TFTP 客户端命令,编译 Busybox 时默认是支持该命令的,设置完开发板IP后,测试与服务器的连接情况,首先网线连接开发板的网口到路由器上,然后输入命令:ping 服务器IP
下图是截图的演示案例图,出差中,板子不在手边,所以不能亲自演示截图分享了:)
以上,说明开发板和TFTP服务器间通信OK的,获取TFTP文件到开发板当前目录下的命令:tftp -g -l 文件名 -r 文件名 服务器IP
作于202012172155,已归档
———————————————————————————————————
本文为博主原创文章,转载请注明出处!
若本文对您有帮助,轻抬您发财的小手,关注/评论/点赞/收藏,就是对我最大的支持!
祝君升职加薪,鹏程万里!
内容总结
以上是互联网集市为您收集整理的Linux——Linux系统编程之基于TFTP实现服务器与开发板间的文件传输实战总结全部内容,希望文章能够帮你解决Linux——Linux系统编程之基于TFTP实现服务器与开发板间的文件传输实战总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。