板子ping不通PC怎么办——韦东山嵌入式Linux学习笔记07

时间:2022-01-20 18:53:07

实验环境:
1. JZ2440
2. Win7

如果想用 u-boot 的 tftp 下载功能,那么一定要保证板子可以 ping 通 PC.

一般来说,家用PC都是通过路由器上网的。针对这种情况,我想到了3种方案以解决板子和PC的互联。

下面的图示中,实线连接表示“网线”,虚线连接表示WIFI信号;

需要强调的是:如果ping不通,请关闭PC的防火墙再试试,我就是因为没有关闭防火墙而ping不通。

对于Win7,关闭防火墙很简单,可以在【控制面板】–【系统和安全】–【Windows 防火墙】中设置。

方案一

这种方案,电脑和板子分别通过网线和路由器连接。
如下图所示:

板子ping不通PC怎么办——韦东山嵌入式Linux学习笔记07

对于这种连接,操作步骤如下:
(1)查看PC的IP地址。
在PC的命令行输入

ipconfig

查看“以太网适配器 本地连接”,比如是192.168.x.y

(2)在开发板上设置板子的IP和服务器(即PC)的IP
开发板通过串口和PC连接,进入u-boot的命令行,输入

printenv

(可以简写为print)
我的返回是

ipaddr=192.168.0.23
serverip=192.168.0.25

如果不是你想要的地址,那么请根据PC的IP地址,输入

set ipaddr 192.168.x.z
set serverip 192.168.x.y

注意,板子的IP和PC的IP要在同一网段(至于为什么,这里不讨论,这是计算机网络的内容)。
设置好后,可以用save命令保存。

(3)验证是否可以ping通
注意:用板子去 ping PC,而不是 PC ping 板子。因为板子的u-boot功能有限,不具有回复 ping 包的能力。
在 u-boot 的命令行输入

ping 192.168.x.y

我的返回结果是:

ERROR: resetting DM9000 -> not responding
dm9000 i/o: 0x20000000, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 08:00:3e:26:0a:5b
could not establish link
host 192.168.0.25 is alive

如果看到 host 某某 is alive,说明是通的。

方案二

这种方案,电脑和路由器通过wifi连接,板子和路由器通过网线连接。
如下图所示:

板子ping不通PC怎么办——韦东山嵌入式Linux学习笔记07

对于这种连接,操作步骤如下:

(1)查看PC的IP地址。
在PC的命令行输入

ipconfig

查看“无线局域网适配器 无线网络连接”,比如是192.168.x.y

(2)在开发板上设置板子的IP和服务器的IP
注意,板子的IP和PC的IP要在同一网段。
设置好后,可以用save命令保存。

(3)验证是否可以ping通

(2)和(3)的具体操作,同方案一。

方案三

这种方案,电脑和路由器通过wifi连接,板子和电脑通过网线连接。
如下图所示:

板子ping不通PC怎么办——韦东山嵌入式Linux学习笔记07

这种情况,需要注意的是开发板的网卡和PC的“有线”网卡相连接。这时候通过ipconfig命令是看不到PC的有线网卡的IP的。比如我的命令行返回是:

以太网适配器 本地连接:
媒体状态 … … … … : 媒体已断开
连接特定的 DNS 后缀 … … . :

具体操作步骤如下:
(1)手动设置PC的有线网卡的IP地址
设置方法是:【控制面板】–【网络和 Internet】–【网络和共享中心】,选择左侧的【更改适配器设置】,双击【本地连接】,选择【Internet 协议版本4】,点击属性,如下图

板子ping不通PC怎么办——韦东山嵌入式Linux学习笔记07

选择【使用下面的IP地址】,填写IP地址,子网掩码(在方框内点击后可以自动生成),最后【确定】

板子ping不通PC怎么办——韦东山嵌入式Linux学习笔记07

(2)在开发板上设置板子的IP和服务器的IP
注意,板子的IP和PC的IP要在同一网段。
设置好后,可以用save命令保存。

(3)验证是否可以ping通

(2)和(3)的具体操作,同方案一。

【完】