Uboot和系统移植----------(1)开发板与主机的ping通

Ping是baiWindows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通
可以很好地帮助我们分析和判定网络故障。应用格式:Ping空格IP地址。该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。

网络测试指令:ping

  • 命令用法: ping ip地址
    注意:ping是测试开发板和主机之间的网络链接,注意以下步骤:
    (1)首先要插上网线。(开发板和电脑之间

(2)先试图ping通主机windows。注意Windows中有线网卡的地址设置(设置本地连接)。设置主机windows的本地连接IPv4地址为192.168.1.10
在这里插入图片描述

(3)第三步确认开发板中uboot里几个网络相关的环境变量的值对不对。最重要的是ipaddr(这个环境变量表示当前开发板的IP地址),这个地址必须和主机windows的IP地址在同一个网段

网段的概念:一个IP地址分为2部分,一部分是网段地址,另一部分是网段内的主机地址(由子网掩码来区分哪一部分是网段地址,哪一部分是IP地址)。在子网掩码是255.255.255.0的情况下,192.168.1.10这个IP地址的前三部分(192.168.1.)属于网段地址,第4部分(10)属于主机地址。

7.开发板和主机的ping通
上节课最后的结果是:uboot中的ipaddr和主机windows本地连接地址已经设置到一个网段,但是实际还ping不通。
还发现了这样的现象:1、我把2个的网段都从192.168.1.x改到192.168.0.x时会ping通一次,第二次开始就ping不通了;2、有同学说ping不通可能是因为uboot中gatewayip没设置,我就实际测试设置网管为同网段.1,再次测试结论是第一次ping通了,第二次开始又不通了。

1、开发板运行linux下和主机Windows的ping通

(1)先将开发板刷机成linux+QT镜像(刷机见裸机教程第三部分),然后启动进入linux命令行终端下。

(2)在linux下使用ifconfig命令将开发板中linux系统的IP地址设置为和主机windows同一网段(为了上课方便,以后就固定:主机windows地址192.168.1.10,开发板uboot或linux的地址为192.168.1.20,虚拟机ubuntu地址为192.168.1.141)

(3)此时开发板端ping windows通的。
步骤:1、通过串口监控进入开发板的 linux 系统(用户:root 密码:123456)
步骤:2、利用命令:ifconfig eth0 192.168.1.20 来进行更改开发板的IP地址。
在这里插入图片描述

步骤:3、开始进行ping通操作。 ping 192.168.1.10
在这里插入图片描述

windows中ping开发板也是通的
在这里插入图片描述

说明:首先开发板和主机的网络部分硬件都是好的,网络连接也是好的,主机windows中的网络软件设置是好的。

2、开发板运行linux下和虚拟机ubuntu的ping通

(1)在linux基础课中讲过:虚拟机的网卡设置可以选择好几种方式,常用的就是NAT和桥接(bridged)。

(2) 虚拟机要和开发板进行网络通信,只能通过桥接方式连接。

(3)虚拟机要想被开发板ping通,设置步骤如下:

第一步:虚拟机设置成桥接方式。
在这里插入图片描述

第二步:虚拟机的菜单中有个“虚拟网络编辑器”,这里面要设置为桥接到有线网卡。
(默认是自动的,自动的一般会影响ping通。因为电脑现在一般都有2个网卡:一个有线的一个无线的。如果选了自动,那么虚拟机会自动桥接到无线网卡上,但是我们却是通过有线网卡来连接开发板的,自然ping不通)
在这里插入图片描述

在这里插入图片描述

第三步:在虚拟机ubuntu中设置IP地址为192.168.1.141

  • 可以通过vi /etc/network/interfaces文件来设置静态的然后重启
  • 也可以直接命令行ifconfig去设置
    在这里插入图片描述

(4)此时开发板ping虚拟机ubuntu应该就通了。

(5)此时虚拟机ubuntu中ping开发板也是通的。

3、开发板运行uboot下和主机Windows的ping通

  • 刚才开发板运行linux时和主机windows、虚拟机ubuntu都ping通了,说明硬件和连接和主机设置没错。

  • 此时开发板重启进入uboot,设置好ipaddr、gatewayip,然后去ping windows发现还是不通。 怀疑uboot本身网络驱动有问题。

  • 然后同样情况下尝试去ping通虚拟机ubuntu,理论分析应该也不通,但是实际发现是通的。

4、开发板运行uboot下和虚拟机ubuntu的ping通

  • uboot和虚拟机ubuntu互相ping通(前提是虚拟机ubuntu设置为桥接,且桥接到有线网卡,且ip地址设置正确的情况下)
    结论:开发板中运行的uboot有点小bug,ping windows就不通,ping虚拟机ubuntu就通。

猜你喜欢

转载自blog.csdn.net/vincent3678/article/details/108350971