由于最近在做嵌入式Linux的网络开发,需要搭建一个调试环境,所以做了如下尝试:
1、关于网络的选择,我所使用的是台式机,自身带无线网卡和100/1000M自适应网卡,而嵌入式设备是10/100M自适应,所以网络可选择的范围就非常大,目前所采用的方法是,不要交换机,直接采用网线连接开发的机器,这样子的网络环境是最简单的,可靠性也高。
2、关于网线的选择,直接连接仪器和PC,原则上应该采用交叉网线,但是注意,现在的网络芯片都是所谓自适应的。所谓自适应,有两重含义,一个是速率自适应,一个是收发自适应。收发自适应也就是说,无论你采用的是直连网线还是交叉网线,网络芯片都可以自适应。因此,我直接使用了一条belkin的直连网线,发现网络连接还是很好的。
3、联机前,先禁用无线网卡,我这里是Intel Dual Band Wireless-AC 3165,然后,在Win10宿主操作系统里面,修改IPv4的属性,不要采用DHCP,使用静态IP地址,设置宿主机(在该机器上跑上位机软件)的IP地址为114.212.125.170,子网掩码为255.255.0.0,默认网关为114.212.125.1。
4、在虚拟机Ubuntu 14.04中,设置“有线连接1”的IPv4的地址为114.212.125.171,子网掩码为255.255.0.0,网关为114.212.125.1。
5、而嵌入式设备的IP地址为114.212.125.150,这样三者属于同一个网段,可以相互通信,可以先相互ping一下,此时应该都可以ping通。
6、虚拟机中配置好nfs,开发板烧成nfs挂载的形式(superboot和内核先烧好),然后就可以通过虚拟机的nfs进行挂载。
7、虚拟机minicom中可以观察到开机调试信息,虚拟机提供nfs服务给嵌入式设备;主机通过网络与嵌入式设备通信,进行网络调试。
8、该方案的好处在于,只需要一根网线,即可完成nfs挂载、嵌入式linux开发和网络通信调试等所有开发任务。