• linux驱动系列之tftp(转)


    转自网页:http://blog.csdn.net/xingyu19871124/article/details/7315893

    最近在将做的嵌入式项目移植到ARM开发板上,宿主机用的ubuntu11.10,目标机为mini2440的ARM开发板,使用arm-linux-gcc编译项目后,要将项目拷贝到目标机运行,使用可以使用U盘直接拷贝,也可以通过tftp服务。

    一、ubuntu11.10搭建tftp服务器

      (1) $ sudo apt-get install tftpd tftp openbsd-inetd

           (2) $ sudo vi /etc/inetd.conf

           在这个配置文件里面找到下面的位置:

                #:BOOT: TFTP service is provided primarily for booting. Most sites

           # run this only on machines acting as "boot servers."

           #tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp

           #我把上面的默认的配置文件用井号注释掉了,自己配置了tftp的主工作目录为/tftp

           tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftp

           (3):wq 保存文件退出。

           (4)创建TFTP服务器的文件目录。

          $cd /  

               $sudo mkdir tftp

          $sudo chmod 777 /tftp

          如果有需要下载的文件这时可以拷贝进去,也用chmod 777命令把所有权限打开。

          (5)启动(或重启)xinetd服务

          $sudo /etc/init.d/openbsd-inetd restart


          (6)查看69端口是否有打开,使用下面命令

         netstat -an | more

         打印出的东西中找到如下即可:

         udp 0 0 0.0.0.0:69 0.0.0.0:*

            

           (7)在本机测试一下:

               a.在/tftp目下新建一个文件,并写入数据:

               yishugao@yishugao-PC:/tftp$ echo helloworld > zhang.txt

               yishugao@yishugao-PC:/tftp$ cat zhang.txt

               helloworld

              b. 到/home目录下

               yishugao@yishugao-PC:/home$ sudo tftp 221.204.110.99

               [sudo] password for yishugao:

               tftp> get zhang.txt

               Received 12 bytes in 0.0 seconds

               tftp> quit

               yishugao@yishugao-PC:/home$ cat zhang.txt

               helloworld

               yishugao@yishugao-PC:/home$

               行了,本地测试成功!

    二、在开发板上使用tftp

          [root@FriendlyARM /zhang]# tftp

    BusyBox v1.13.3 (2010-07-24 19:11:35 CST) multi-call binary

    Usage: tftp [OPTION]... HOST [PORT]

    Transfer a file from/to tftp server

    Options:

            -l FILE Local FILE

            -r FILE Remote FILE

            -g      Get file

            -p      Put file

            -b SIZE Transfer blocks of SIZE octets

          [root@FriendlyARM /zhang]# tftp -l /zhang/main -r /tftp/main_arm_v4 -g 192.168.1.37

          注:表示将远程主机上的/tftp/main_arm_v4下载到本地主机/zhang/目录下,并改名为main文件。。。

                 -l :localhost      -r :remote   -g:get     192.168.1.37是远程主机ip

                 同理,如果要将本地文件上传到远程服务器,把 -g 该为 -p ,p为put的意思。。。

          [root@FriendlyARM /zhang]# ls

          main

          [root@FriendlyARM /zhang]# chmod 777 main

          [root@FriendlyARM /zhang]# ./main /dev/video0

  • 相关阅读:
    C#GridViewExport帮助类,美化导出
    C#EXCEL 操作类--C#DataToExcel帮助类
    C#EXCEL 操作类--C#ExcelHelper操作类
    VS2010 项目引用了DLL文件,也写了Using,但是编译时提示:未能找到类型或命名空间名称 <转>
    FPGA Verilog HDL 系列实例--------步进电机驱动控制
    C++使用VARIANT实现二维数组的操作
    VS2010+VMWare8+VisualDDK1.5.6 创建并调试你的第一个驱动程序
    USB编程研究之二(常见设备类型的GUID)
    C++——CString用法大全
    C++ 如何有效地使用对话框
  • 原文地址:https://www.cnblogs.com/qiuheng/p/5548476.html
Copyright © 2020-2023  润新知