ARM与Linux_PC之间tftp通信环境的搭建

1、安装tftp服务器
需要安装xinetdtftptftp-server3个软件,如果能上网,通过yum安装:
sudo yum install xinetd
sudo yum install tftp
sudo yum installtftp-server

2、配置tftp服务器
修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no
主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:
service tftp
{    

      socket_type           =dgram
      protocol                 =udp
      wait                       =yes
      user                       =root
      server                    =/usr/sbin/in.tftpd
      server_args            =-s /var/lib/tftpboot
      disable                   =no
      per_source            =11
      cps                        =100 2
      flags                      =IPv4
}

说明:修改项server_args=-s       -c,其中处可以改为你的tftp-server的根目录,参数-s指定chroot-c指定了可以创建文件,共享的文件都存放在此目录中以便其他设备使用,修改此目录权限为777。

3、启动tftp服务器并关闭防火墙
service iptables  stop 或者 service firewalld stop 根据Linux发行版本选择。

重启tftp服务

[root@aguangg tftpboot]#service xinetd restart
Redirecting to /bin/systemctl restart  xinetd.service

4、查看tftp服务是否开启
netstat -a | greptftp
显示结果为
udp 0 0 *:tftp*:*
表明服务已经开启,就表明tftp配置成功了。

5、ARM开发板与主机通过双绞线连接

1.查询主机eth0网卡的IP 

[root@aguangg tftpboot]# ifconfig
enp4s0: flags=4163  mtu 1500
        inet 169.254.7.192  netmask 255.255.0.0  broadcast 169.254.255.255
        inet6 fe80::3e97:eff:fe5e:7c9a  prefixlen 64  scopeid 0x20
        ether 3c:97:0e:5e:7c:9a  txqueuelen 1000  (Ethernet)
        RX packets 70  bytes 4442 (4.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 90  bytes 24171 (23.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2.设置ARM开发板的IP与主机的IP 在同一网段

方法一:临时配置网络IP地址和子网掩码 (开发板重新上电会丢失需要重新设置)

         ifconfig eth0 10.150.11.2 netmask 255.254.0.0 

方法二:永久修改IP 修改文件/etc/init.d/rcS 文件。

            [@keni]#vi /etc/init.d/rcS

            #!/bin/sh
            /bin/mount -a
            /sbin/ifconfig eth0 169.254.7.191 up      //此处修改与主机同网段IP。
            /sbin/ifconfig eth1 192.168.0.16 up
            echo -e "\033[?25h"
            /bin/mknod /dev/can c 98 0
            /bin/ln -s /dev/sound/dsp /dev/dsp
            exec /usr/etc/rc.touch

3.检测:开发板通过双绞线ping 主机IP(也可试试用主机ping 开发板的IP,有可能ping不通,这与开发板内linux内的程序有关。)

6、tftp命令用法如下(linux PC机上)
tftp    your-ip-address

【进入TFTP操作】
connect
:连接到远程tftp服务器
mode
:文件传输模式
put
:上传文件
get
:下载文件
quit
:退出
verbose
:显示详细的处理信息
tarce
:显示包路径
status
:显示当前状态信息
binary
:二进制传输模式
ascii
ascii传送模式
rexmt
:设置包传输的超时时间
timeout
:设置重传的超时时间
help
:帮助信息
?
:帮助信息

7、如果老是出现“AVCDenial, click icon to view”的错误,并不能传输文件,需要作如下修改
修改/etc/sysconfig/selinux,SELINUX设定为disable
使用命令setenforce0selinux配置文件生效

8Busyboxtftp命令的用法(ARM开发板)
命令格式为:

BusyBox v1.6.0 (2008-01-09 17:10:28 CST) multi-call binary                                                                                             
Usage: tftp [-c] FILE [FILE ...]                                                                                                                         
Update the last-modified date on the given FILE[s]                                                                                        
Options:                                                                        
        -c      Do not create any files

如果要下载或上传文件的话是一定要用这些option的。成都明诚科技。

-g表示下载文件(get)
-p
表示上传文件(put)
-l
表示本地文件名(localfile)
-r
表示远程主机的文件名(remotefile)

例如,要从远程主机192.168.1.2上下载test文件,则应输入以下命令

tftp -g -rtest 192.168.1.2  文件会下载到ARM开发板系统的当前目录下。

你可能感兴趣的:(嵌入式开发)