美文网首页
通过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