在开发过程中,开发板可以通过 nfs 挂载到虚拟机中 ubuntu 系统的 nfs 文件系统上,挂载成功后开发板就可以与 ubuntu 共享 nfs 目录。也可以通过 tftp 的方式下载文件到开发板中。该方法也使用于开发板与 windows 之间相互传输文件。

1、ubuntu 上 tftpd 服务器的安装与配置

1.1 在 ubuntu 上安装 TFTP 服务器
    sudo apt-get install tftpd-hpa tftp-hpa

1.2 配置 tftpd 服务器
    sudo vi /etc/default/tftpd-hpa 设置如下
    
    TFTP_USERNAME="tftp"
    TFTP_DIRECTORY="/home/zhoubin/tftp_share"
    TFTP_ADDRESS="0.0.0.0:69"
    TFTP_OPTIONS="-l -c -s"

1.3 启动 tftpd 服务    
    sudo service tftpd-hpa start

2、windows 下的 tftpd 服务器的安装
   windows 下有两个 tftpd 服务器工具可用, 其中一个是 http://tftpd32.jounin.net/
另外一个是 "思科 tftp 服务器", windows 下的 tftp 服务器用法简单,启动后只需要指定目录即可

3、ubuntu 与 windows 之间传输文件
   这里以 windows 为 server 进行操作。在 windows 下打开 tftp 服务器, 指定要传输文件所在的目录

3.1 进入 tftp 模式
   在 ubuntu 的命令行输入 tftp windows 服务器 IP, 例如 tftp 192.168.1.158, 此时命令行就会进入 tftp 模式, 进入 tftp 模式终端显示为 tftp>

3.2 从 windows 下载文件
    ubuntu 下使用 get 命令下载文件。在命令行输入 get hello.txt 即可将 windows 下的 hello.txt 文件下载到 ubuntu 当前目录。

3.3 上传文件到 windows
    ubuntu 下使用 put 命令上传文件。在命令行输入 put test.txt 即可将 test.txt 文件传输到 windows 端的 tftp server 指定的目录中。

3.4 退出 tftp 
    操作结束, ubuntu 命令行输入 q 即可。

4、开发板与 windows/ubuntu 之间传输文件
   开发板上的命令是使用 busybox 制作的,其中的 tftp 使用于 ubuntu 下稍微有所不同。可以直接在命令行输入 tftp 然后回车, 此时会显示 tftp 命令的使用方法。这里以开发板与 windows 之间的文件传输为例(与 ubuntu 下的文件传输命令完全一致), 首先在 windows 端打开 tftp server

Usage: tftp [OPTIONS] HOST [PORT]
Transfer a file from/to tftp server
        -l FILE Local FILE
        -r FILE Remote FILE
        -g      Get file
        -p      Put file

4.1 下载文件
    示例 : 从 192.168.1.158 的主机下载 gpio_driver.ko 文件    
    tftp -g -r gpio_driver.ko 192.168.1.158

4.2 上传文件
    示例 : 向 192.168.1.158 的主机上传 hello 文件
    tftp -p -l hello 192.168.1.158
   
10-03 13:27