real6410开发板和主机的网络连接问题

这两天想试试UBOOT下的tftp下载功能,所以要建立开发板和ubuntu的网络连接,中间遇到一些问题,现记录下来,以免忘记。

1.刚开始时无论是PC机ping开发板还是开发板ping电脑,都ping不同;

        在网上查资料,说是网线也分交叉和不交叉的线,pc直接连开发板要用交叉线,而连接路由器则要用非交叉线,所以我找到两根网线直接接到路由器上,结果开发板可以ping通PC机,但是PC机ping不通开发板,这就是第二个问题;

2.开发板可以ping通PC机,但是PC机ping不通开发板;

       其实这个是正常的,下面有一段网友的回复来回答一下这个问题:

     主机和虚拟机能相互ping通是因为主机与虚拟机都开启了对应的进程(或线程,不清楚)等待ping命令的到来,而在uboot命令输入状态下,当使用ping命令时,实际上是uboot先根据你输入的IP地址发送一个ICMP回送请求和回答报文到对应主机,然后再等待一段时间,如果在这段时间后主机没有响应,则显示ping不通,主机如果在这段时间内发送了回答报文则能ping通。可以通过追踪程序的调用来查看该过程。
     你使用主机或虚拟机ping开发板时,开发板正处于main_loop循环中(等待用户输入命令),根本没有对应的程序或中断(uboot中一般不使用中断)来检测主机的ping命令,当然ping不通。
    只要开发板能ping通主机就可以使用网线下载linux内核映像或文件系统了。
      简单的说就是UBOOT下是单线程的,ubuntu下是多线程的,所以uboot能ping通PC机就可以通过网口来下载文件了。


顺便说一下,测试的时候进入到linux下后,开发板和PC机读可以互相ping通,这个也可以用上面这段话来解释。而且经过测试,PC用无线连接路由,而开发板用网线连接路由也是可以互相ping通的,就是不知道下载的速度怎么样,明天试下!

你可能感兴趣的:(linux学习)