发布网友 发布时间:2022-05-10 10:21
共1个回答
热心网友 时间:2023-10-04 05:05
如果想用 u-boot 的 tftp 下载功能,那么一定要保证板子可以 ping 通 PC.
一般来说,家用PC都是通过路由器上网的。针对这种情况,我想到了3种方案以解决板子和PC的互联。
下面的图示中,实线连接表示“网线”,虚线连接表示WIFI信号;
需要强调的是:如果ping不通,请关闭PC的防火墙再试试,我就是因为没有关闭防火墙而ping不通。
对于Win7,关闭防火墙很简单,可以在【控制面板】–【系统和安全】–【Windows 防火墙】中设置。
方案一
这种方案,电脑和板子分别通过网线和路由器连接。
如下图所示:
对于这种连接,操作步骤如下:
(1)查看PC的IP地址。
在PC的命令行输入
ipconfig1
查看“以太网适配器 本地连接”,比如是192.168.x.y
(2)在开发板上设置板子的IP和服务器(即PC)的IP
开发板通过串口和PC连接,进入u-boot的命令行,输入
printenv1
(可以简写为print)
我的返回是
ipaddr=192.168.0.23
serverip=192.168.0.25
如果不是你想要的地址,那么请根据PC的IP地址,输入
set ipaddr 192.168.x.zset serverip 192.168.x.y12
注意,板子的IP和PC的IP要在同一网段(至于为什么,这里不讨论,这是计算机网络的内容)。
设置好后,可以用save命令保存。
(3)验证是否可以ping通
注意:用板子去 ping PC,而不是 PC ping 板子。因为板子的u-boot功能有限,不具有回复 ping 包的能力。
在 u-boot 的命令行输入
ping 192.168.x.y1
我的返回结果是:
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的命令行输入
ipconfig1
查看“无线局域网适配器 无线网络连接”,比如是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)的具体操作,同方案一。