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

2019-07-12 20:45发布

实验环境:
1. JZ2440
2. Win7 如果想用 u-boot 的 tftp 下载功能,那么一定要保证板子可以 ping 通 PC. 一般来说,家用PC都是通过路由器上网的。针对这种情况,我想到了3种方案以解决板子和PC的互联。 下面的图示中,实线连接表示“网线”,虚线连接表示WIFI信号; 需要强调的是:如果ping不通,请关闭PC的防火墙再试试,我就是因为没有关闭防火墙而ping不通。 对于Win7,关闭防火墙很简单,可以在【控制面板】–【系统和安全】–【Windows 防火墙】中设置。

方案一

这种方案,电脑和板子分别通过网线和路由器连接。
如下图所示: 这里写图片描述 对于这种连接,操作步骤如下:
(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连接,板子和路由器通过网线连接。
如下图所示: 这里写图片描述 对于这种连接,操作步骤如下: (1)查看PC的IP地址。
在PC的命令行输入 ipconfig 查看“无线局域网适配器 无线网络连接”,比如是192.168.x.y (2)在开发板上设置板子的IP和服务器的IP
注意,板子的IP和PC的IP要在同一网段。
设置好后,可以用save命令保存。 (3)验证是否可以ping通 (2)和(3)的具体操作,同方案一。

方案三

这种方案,电脑和路由器通过wifi连接,板子和电脑通过网线连接。
如下图所示: 这里写图片描述 这种情况,需要注意的是开发板的网卡和PC的“有线”网卡相连接。这时候通过ipconfig命令是看不到PC的有线网卡的IP的。比如我的命令行返回是:
以太网适配器 本地连接:
媒体状态 … … … … : 媒体已断开
连接特定的 DNS 后缀 … … . :
具体操作步骤如下:
(1)手动设置PC的有线网卡的IP地址
设置方法是:【控制面板】–【网络和 Internet】–【网络和共享中心】,选择左侧的【更改适配器设置】,双击【本地连接】,选择【Internet 协议版本4】,点击属性,如下图 这里写图片描述 选择【使用下面的IP地址】,填写IP地址,子网掩码(在方框内点击后可以自动生成),最后【确定】 这里写图片描述 (2)在开发板上设置板子的IP和服务器的IP
注意,板子的IP和PC的IP要在同一网段。
设置好后,可以用save命令保存。 (3)验证是否可以ping通 (2)和(3)的具体操作,同方案一。 【完】