嵌入式开发中常用的开发方式:windows上做实际开发,虚拟机上装Linux当服务器交叉编译程序, ARM开发板运行程序。通常三者连接时,会遇到各种问题,此文档就是从分析到实例解决该问题。
更多详情,请访问http://www.100ask.org/
对于搞不懂桥接、Nat和only-host 三者区别的可以参考:
虚拟机VMware3种网络模式(桥接、nat、Host-only)
http://blog.csdn.net/tanhao199406/article/details/45603177一、网络设置
虚拟机我们通常采用的桥接,是网络设置的关键。最主要的问题,我们使用桥接方式时,ARM开发板、windows以及windows上的虚拟机上的Linux存在三者互ping不通的情况。
在没有接ARM开发板的情况,windows连入网络使用的物理网卡是无线网卡,虚拟网卡桥接到无线网卡,IP地址与物理无线网卡同网段;windows连入网络使用的物理网卡是有线网卡,虚拟网卡桥接到线网卡,IP地址与物理有线网卡同网段。无论windows ping Linux,还是Linux ping windows 都不会存在互ping不通的情况。
但当加入ARM开发板,情况就变得复杂,我们往往会出现windows 和 Linux之间可以互ping成功,但是却与ARM开发板无法互ping成功。其实我们只要抓住问题的本质就不会出现这些问题。在连接ARM开发板的情况下,我们必须先确定Linux与ARM开发板的网络物理连接方式。
ARM开发板是有线网卡的情况下:
1. 无路由器
1.1电脑和ARM开发板通过网线(双绞线)直接连接 (情况一)
Windows:有线网卡 需要手动设置本地IP地址
Linux:桥接到有线网卡 需要手动设置IP地址
ARM开发板、Linux和Windows的IP地址都必须在同一网段。
2. 有路由器
2.1 电脑和路由器无网线(双绞线)连接,Windows通过无线网卡接到路由器,ARM开发板和路由器通过网线(双绞线)连接。(情况二)
Windows:无线网卡 不需要手动设置本地IP地址
Linux:桥接到无线网卡 不需要手动设置IP地址
ARM开发板、