美文网首页
通过TFTP从服务器下载文件

通过TFTP从服务器下载文件

作者: tianxiaoMCU | 来源:发表于2019-07-19 15:24 被阅读0次

    海思的SDK默认不提供SSH,而是提供TFTP进行文件的传输。所以,先要在服务器端将TFTP服务器搭好,后续才能将编译好的程序下载到板子上运行。

    搭建TFTP服务

    TFTP只能client从server下载文件,或者client上传文件到server。开发板这边已经是client,所以需要在服务器上搭建TFTP服务端。

    • 1、安装TFTP
      sudo apt-get install tftp-hpa tftpd-hpa xinetd  # 安装tftp客户端、服务端
      
    • 2、创建传输目录
      mkdir /home/ubuntu/Documents/tftproot           # 建立tftp传输目录
      sudo chmod 0777 /home/ubuntu/Documents/tftproot  # 给传输目录增加读写权限
      touch test.o                                     # 新建一个文件便于后面测试
      
    • 3、配置/etc/xinetd.conf
      sudo vi /etc/xinetd.conf
      
      查看xinetd.conf是否与下面的内容一致,若不一致则进行相应的修改
         # Simple configuration file for xinetd
         #
         # Some defaults, and include /etc/xinetd.d/
      
         defaults
         {
      
         # Please note that you need a log_type line to be able to use log_on_success
         # and log_on_failure. The default is the following :
         # log_type = SYSLOG daemon info
      
         }
      
         includedir /etc/xinetd.d
      
    • 4、配置/etc/default/tftpd-hpa
      sudo vi /etc/default/tftpd-hpa
      
      按下面内容配置
      # vi /etc/default/tftpd-hpa
      TFTP_USERNAME="tftp"
      TFTP_DIRECTORY="/home/ubuntu/Documents/tftproot" # 这里是前面创建的tftpd传输目录
      TFTP_ADDRESS="0.0.0.0:69"
      TFTP_OPTIONS="-l -c -s" # -c代表可以上传文件,-s代表指定tftpd传输目录,即TFTP_DIRECTORY
      
    • 5、配置/etc/xinetd.d/tftp
      sudo vi /etc/xinetd.d/tftp
      
      按下面内容配置
      service tftp
      {
           socket_type = dgram
           protocol        = udp
           wait            = yes
           user            = root
           server      = /usr/sbin/in.tftpd
           server_args = -s /home/ubuntu/Documents/tftproot
           disable     = no
           per_source  = 11
           cps         = 100 2
           flags           = IPv4
      }
      
    • 6、重启TFTP服务
      sudo service tftpd-hpa restart
      # 每次修改配置文件后,都需要重新加载进程、重新启动服务
      sudo /etc/init.d/xinetd reload
      sudo /etc/init.d/xinetd restart
      
    • 7、测试TFTP
      cd /home/ubuntu/Documents/
      tftp localhost  #localhost 表示本机
      tftp>get test.o  # 之前在 /home/ubuntu/Documents/tftproot 目录下新建的测试文件
      tftp>put test1.o # test1.o 是在 /home/ubuntu/Documents/ 目录下新建的测试文件
      tftp>q
      
      退出后应该在/home/ubuntu/Documents/存在一个test.o文件,/home/ubuntu/Documents/tftproot存在一个test1.o文件,这说明上传下载都成功了,环境搭建完成。
    下载文件到开发板

    telnet连接到开发板后

    cd /usr/
    ls
    bin    lib    sbin   share
    tftp -g -r test.o 192.168.1.174
    test.o               100% |*******************************|     9   0:00:00 ETA
    ls
    bin     lib     sbin    share   test.o
    

    可以看到,下载成功了!!!

    相关文章

      网友评论

          本文标题:通过TFTP从服务器下载文件

          本文链接:https://www.haomeiwen.com/subject/rofjlctx.html