硬件:ZEDBOARD 或者兼容板子 (可以从SYSCLK.TAOBAO.COM购买便宜实用的国产板,本人出品技术支持)。
嵌入式系统:PETALINUX 2019.1 使用 ZEDBOARD板级支持包编译出来的LINUX内核以及文件系统。
PETALINUX 的系统文件里面包含了TFTP客户端。这是一个基于UDP协议的FTP类型的文件传输协议。跟标准的FTP相比,他不不使用复杂的TCP协议,而是使用UDP协议实现文件传输。优点是简单,确定就是如果比较复杂的跨局域网络的环境,稳定性以及速度可能不如FTP。
我们先看一下TFTP的用法,不用搜文档,直接在串口终端输入
我们看到这个TFTP的客户端的程序已经简单到不能再简单了。
-l 其中l是英文local (本地)的意思。
-r其中r是英文remote(远程端)的意思。
-g其中g是英文get(获取)的意思。
-p其中p是英文put(放置)的意思。
我简答试验了一下,得到了从服务器192.168.1.102服务器的69号端口获取文件a.bin 保存为当前目录下b.bin文件的命令
tftp -r /a.bin -l ./b.bin -g 192.168.1.102:69
这里-r 是指示服务器端的文件名,是位于根文件下面的a.bin
这里-l是指示本地的文件名,是位于当前目录下的b.bin。
而最后部分是ip地址和udp端口号.
这里-g是指示将远端文件获取下来保存为本地文件名。
如果是-p是指示将本地文件放置在远端服务器上。所以下面命令实现将本地b.bin传输到tftp服务器目录上保存为b.bin文件。
tftp -r /a.bin -l ./b.bin -g 192.168.1.102:69
这里我们看到tftp是一句命令实现的文件传输,不像基于TCP协议的FTP协议。首先要登录上,之后通过对话发命令。传输完毕还要登出。因此看TFTP协议非常简单易用。