orangeos 2013-01-23
(嵌入式)busybox中TFTP服务器的使用
# tftp
BusyBox v1.12.1 (2012-10-11 16:59:29 CST) multi-call binary
Usage: tftp [OPTION]... HOST [PORT]
板子上一直有tftp命令,但是帮助只有这一点,不知道怎么用的
今天查了网上才知道options的选项
Options:
-l FILE Local FILE
-r FILE Remote FILE
-g Get file
-p Put file
方法一:在windows中实现tftp服务器
下载 tftpd32.exe 即可,直接双击运行
在tftp根目录中添加我们所要下到开发板中的程序文件。注:文件名必须要求有后缀的全称
在开发板的命令行中输入
tftp -l a.txt -r a.txt -g 192.168.1.21 69
参数说明:-l 是local的缩写,后跟本地或下载到本地后重命名的文件名。
-r 是remote的缩写,后跟远程即PC机tftp服务器根目录中的文件名,或上传到PC机后重命名后的文件名。
-g 是get的缩写,下载文件时用,后跟PC机的IP地址
-p 是put的缩写,上传文件时用,后跟PC机的IP地址
tftp 默认占用的是69端口。
注意:下载或上传文件时,文件名最好相同,否则会出现得到了文件,但文件大小却是 0k 的尴尬现象。如果出现了这种现象,请多敲几次命令,在 -l -r 和 -g 前面多放几个空格,例如
tftp -l a.txt -r a.txt -g 192.168.1.21 69
默认下载到开发板的当前目录。
上传文件:将开发板当前目录的某个文件上传到tftp服务器根目录。
命令: tftp -l a.txt -r a.txt -p 192.168.1.21 69
当然我们假设tftp服务器根目录不存在a.txt这个文件,当运行这个命令后,就会在tftp服务器根目录中发现这个文件。
问题:为什么当我下载后,得到的文件大小是0K?
答:这就是用Windows带来的麻烦,如果出现这种情况,建议将 -l 和 -r 后的参数改成一样,并尝试增加空格。
方法二:Linux下搭建tftp,资料很多,不累述