嵌入式台式移植环境



台式移植环境搭建


接下来我们来看一下就是PC跟开发板之间我们的一些环境搭建该如何具体进行操作,当然我们说先看一下目前在学习中用的板子的一个底板,因为它在做底板的时候已经帮我们把跟PC相关的接口都已经引出来了,所以我们只需要看底板就行了。


demand2.png


如图,核心板是一些相当于CPU的东西,我们没有办法去接除非把它焊出来但是意义不大。



串口


然后我们在看最主要第一个接口就是串口因为串口我们说它的连接方式最方便而且它的驱动相对而言比较简单一点,所以我们就会用它把我们一些少数据量的东西进行上传下载服务,最典型的就是我们在调制程序中把我们板子里的一些打印信息也就是我们所说的标准输入或者说是标准出错,把这样的信息直接定位到串口驱动上,也就是说我们实际上是像标准输出去输入东西,而标准输出恰好在我们的定向路中定的是我们串口的东西。


那这样的话我们只需要在串口中,把这个线跟我们的PC相连,连上过后我们把板子里的所有东西通过这个串口的1和0就相当于把这个物理信息号传到了我们的PC,然后PC在通过我们的终端软件解析就可以程序给用户了,所有串口的主要功能它不是为了数据传输主要为了一些打印信息和一些终端的交互信息。


以上就是我们串口的主要工作,然后我们刚才在需求分析中也提到了我们既要传输数据也要调试程序这两个需求,那么这两个需求都是设计到一个网络服务,所以说我们会把网络这个部分重点去看一看怎么去跟PC的网卡进行相连,所以这个是很重要的,串口其实就是物理上接好就行,注意很有可能串口松了是看不到信息的。接下来来说USB接口在平时用的不是很多。在很多实际开发中我们用网口和串口调试的机会偏大一些,因为USB口主要看芯片厂商对相关驱动的支持以及portnet功能支持的好不好,当然这个就是我们作为后面的一个小项目,然后可以慢慢去描述。



环境


以上就是我们所说的一个简单的模型,因为我们在这个教学中没有办法覆盖所以同学的机器环境,所以说我们在这个地方就按照大家可能出现的环境给大家做一个基本的介绍。


这个地方我们简单说一下大家在开发过程中可能有两种环境。一个是台式机一个是笔记本。笔记本相对要复杂一点因为笔记本就是说它的接口做的越来越少了不像很老的笔记,可能并口串口全都有,现在的笔记本基本上经典的很少,所以说笔记本的环境搭建稍微复杂点。


那我们先简单说一下台式机,台式机相对而言比笔记本的接口要多。所以说它的环境搭建起来相对简单一些,然后我先说有可能有的几种环境,第一种环境就是家里的环境也就说大家在台式机上网的时候是有一台路由器的如下图:


demand3.png


如图,我们来看看它是怎么做的,图上左方的大四边形就是我们的台式机,上面本身有个网卡也就是图上的小正方形,而这个网卡很显然是接在了我们家里的路由器上如图中右边的四边形,那这个路由器肯定是我们路由器的LAN口,然后我们上网通过路由器的WAN口就可以连接,然后我们现在跟开发板(图中椭圆)之间怎么连呢,因为开发板跟路由器没有关系它跟PC是一个平行关系也就是说我们现在要把开发板跟网卡之间相连,最简单的方法当然就是把网线直接拔了,然后直接跟这个板子相连就可以。


当然这个地方先说两点问题,第一点板子和PC之间直接相连一定要注意那根网线不能随便用比如买路由器中送的网线就不行我们必须用标准的那种双绞线,就是我们网线在设计的时候有两种线一种是直接跟路由器相连的线一种是两个主机端相连的。那么这种线稍微在制作上和工艺上不太一致,但是大家注意一下一般你们买开发板的时候它都会赠送。


然后两者相连就相当于这两个在物理上就已经连通了。剩下就是我们配置IP层然后在配置传输层在配置应用层就可以了。


以上就是网络传输的一种方法。但是这种方法不好因为这台电脑上不上网了,我们想要查一点资料都不是很方便,所以我们比较建议如果家庭中只有单网卡的用户就可以这样做,网卡接路由器没关系,然后我们也把开发板的网线接到LAN口的另外一个口子,这样的话就相当于通过这个路由器就把这个PC跟这个板子之间做好了相当于在同一个局域网上。那么在同一个局域网上只要求在物理上都能找到对方。


然后大家在思考一下我们讲TCPIP实际上四层模型,最底下物理接口层由路由器那两个接口来决定因为路由器已经衔接好了。剩下的就是台式机怎么找到开发板的问题,是不是只有保证IP层是统一的编址就可以,而IP层怎么编址这个很容易理解,我们开发板和主机只需要在同一个网段就可以,别说你这个路由器是o.100这个网段它给台式机分配可能就是0.101,那我只需要在板子上设置成0.102或者其他只有跟台式机是同一个网段的这样他们俩网络层次上就已经通了,剩下就是传送,传送就是我们服务器打开与否了。


所以这种方式就是比较典型的家用调试的一种方法。但是在有些情况也就是在公司上不一致,因为公司上不可能一台路由器给你一个人用,有可能一台路由器好几台PC都要用,你的板子可能接不了。


第二种方式也在台式机上:


demand4.png


如图,图左侧四边形还是台式机,我们稍微把它改装一下,台式机上不是有一个网卡吗(也就是图左侧四边形上的圆圈。)?我们不管这个网卡是如何上网的,比如说是通过路由器(如图,下次小的四边形)或者拨号上网也行,这个都不用管。因为PC的PCI接口很多,那么我们就在外面买一个PCI的网卡,就相当于我们在台式机上又多了一个网卡(途中左侧四边形上方的圆圈。),这个网卡我们直接跟开发板相连接(图上上方的四边形)这样就相当于达到了我们的windows也就是说,真正的PC跟这个开发板物理上是连接好了。剩下的还是网络层也就是只要把这个网卡的IP配制成跟开发板在同一个网段就可以了,也就是说,我们在用双网卡的时候要更加方便一些。


比如说你上你的路由器给公司用没有关系,我上面这个网卡就专门跟开发板相连,很多企业开发中都会配成双网卡,然后专门拿一个网卡跟开发板做一个专门的搭建。


但是有一个问题就是不管我的Windows怎么跟板子相连,最终目的就是物理上连通,那这个其实只是解决了一个现象,就我Windows跟这个板子的相连。那么我们现在的问题还没完,因为我们的问题是我们的开发环境是Linux的那台虚拟机,当然如果这台台式机本身就是Linux这就不存在了,但是如果这是台虚拟机,也就是说虚拟机我们之前画过一个图,虚拟机其实就是说相当于在主机中又模拟了一个假的计算机(图左侧大四边形里的小四边形)。


那这个假计算机我们怎么让他跟板子相连?这个我们以后也会细讲。


但是现在我们先把这个模型图告诉大家,也就是说我们这个虚拟的电脑中也有一个网卡(图左侧,大四边形中小四边形上的圆圈)那我如果能让这个网卡也能假设的跟开发板连起来不就可以了,但是很显然这里面是假的,这是个软件,而开发板是硬件,这两个不能相通,我们说这肯定是不行的。所以大家不用担心图上那个虚线还有个办法叫桥接也就是说,我们可以把这个虚拟机上的网卡配成跟主机上的网卡相桥接,那么这两个网卡物理上就是相通的,相当于这个数据包通过这个口子共享他的数据层然后往外传,然后因为图中上面的网卡到开发板上的那根实线是实实在在就在这里接的,所以这种情况如果我们要配成双网卡就需要在虚拟机上做一点手脚。把我们的虚拟机上的网卡改成桥接方式桥接到主机上的网卡上就可以跟开发板相连。

 

以上也是一种比较典型的方案。但这种方案也有缺点,缺点就是这个虚拟机如果只有单王网卡只能桥接到主机上面的那一个网卡,因为如果你直接桥接在开发板上,那么虚拟机就无法上网。因为这个局域网到开发板上就结束了,因为开发板上没有路由器,他就不能往外走,这样的话虚拟机里面就不能上网,所以这也是有利有弊,至于怎么解决后面也是有办法的。但是如果想从最简单的环境搭建的角度来说,因为我们的开发环境只要windows能上网就可以了,但是如果说我这个虚拟机也需要访问网络那么这种直接连接到开发板的方法就不太适合,还有一种方法就是先把虚拟机网卡桥接到主机连接路由器的网卡上,等上了网在桥接回去,也是可以的但是就是稍微麻烦一些。


所以对于台式机来说我们给大家提到的两种环境,一个是路由器环境一个是双网卡环境,但是不管路由器环境和双网卡环境中都涉及到一个虚拟机的网卡,我们需要桥接的方式。


下面我简单说一下在台式机中桥接是怎么设的,因为我现在给大家上课是在笔记本上所以我是没有办法演示双网卡的,所以给大家简单提一下这个双网卡是怎么配置的:


demand5.png


如图,这就是我们计算机的网卡连接图,如果说你安装了双网卡,这个地方的本地连接就会多一个,比如说我现在有两个网卡,我肯定要调接到一个网卡上,所以这种情况我就把我新的网卡点击右键选择属性如下图:


demand6.png


如图,属性中肯定就有它的名字,当然你买肯定会买一些8109这样比较简单的网卡,然后我们把这个名字记住。


然后在我们的虚拟机中的编辑选项中有一个虚拟网络编辑器如下图:


demand7.png


如图点击虚拟网络编辑器。


demand8.png


如图,我这已经改了在上方你找vmnet的类型是桥接模式的,比如说我这里已经把vmnet2改成桥接模式,那这种情况我就点击vmnet2,大家就可以看到下方有一个桥接信息,这个桥接信息中就有个桥接到,因为我现在有一个是WiFi的一个是物理接口,那么很显然如果我们现在要桥接物理接口我就要把桥接到选择跟刚才那个名字一模一样的网卡。


如果说我们是双网卡,那肯定买完之后是另外一个名字,然后把这个桥接到另外一个网卡就可以了。


然后我们在点击确定,点完确定后我们还要设置如下图:


demand9.png


如图,当我们网卡默认安装完就是NAT,所以这个时候我们要把它桥在(因为我这个机器已经把桥接的那个名字改了所以不要在网络连接中选择直接连接物理网络)我建议你们在这里自定义,之前我们是在vmnet2上桥接的,所以说你就直接在自定义上点这个桥接2,然后点击确定。当然这个动作是在虚拟机关机状态,然后我们在开启这个机器,这个时候这个网卡就相当于按照我们之前设计的数据去走到对应的窗口就可以了。


以上就是我们在台式机这个环境,具体这个环境大家可能需要摸索一下,因为环境搭建中第一个比较难过的火焰山就是这个台式机环境搭建。因为很多同学就会因为没有接触到过这个东西,所以说就涉及到有很多软件是新的,所以需要同学们多动手,台式机到时如果还是不是很清楚我们可以进行一个相应的交流。



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】

logo
© 2012-2016 www.maiziedu.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127
有一位课程导师想与你聊聊

免费电话咨询