ARM嵌入式Linux开发——网络设置及开发

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ARM嵌入式Linux开发

——网络设置及开发

1.网络及NFS设置

嵌入式Linux系统软件开发过程中,使用NFS是一个方便有效的手段。可以在宿主机上安装并开启NFS Server,创建一个位于网络上的远程共享目录。目标机作为NFS客户端通过网络远程访问此目录,就像访问本地目录一样,可以在宿主机和目标机之间方便地传递数据。

嵌入式Linux系统目标机通常使用FLASH作为类似PC机硬盘的永久性非易失性存储器,但受系统资源等因素影响,FLASH存储器容量有限,且FLASH存储器有擦写寿命问题,不适合软件开发过程中的频繁修改操作。使用NFS可以将数据存储目录设置在网络上的远程宿主机中,使目标板获得更大容量的存储空间,且可以随意进行擦写操作,不用担心FLASH存储器寿命问题,访问方式与操作本地目录相同。

通常,都是将正在开发调试的软件存放在NFS目录中,目标板访问NFS并运行其中存储的软件。更进一步的使用方法是用NFS作为目标板的操作系统存储器,直接从NFS启动操作系统,这一方式通常用于目标板上操作系统内核级别的开发调试。

1.1.NFS简介

在安装设置并使用NFS前,先对NFS进行简要介绍:

1)NFS就是Network File System的缩写,即网络文件系统,它的最大功能就是可以通过网络

让不同的机器,不同的操作系统彼此共享文件(Sharefiles)——可以通过NFS挂载远程主机的目录,访问该目录就像访问本地目录一样,所以也可以简单的将它看作一个文件服务器(File Server)。一般而言,使用NFS服务能够方便地使各UNIX-like系统之间实现共享,但如果需要在UNIX-like和Windows系统之间共享,就要使用samba了。

2)NFS是通过网络进行数据传输,那么NFS使用哪些端口呢,答案是……不知道,因为NFS

传输数据时使用的端口是随机的,唯一的限制就是小于1024,客户端怎么知道服务器使用的是哪个端口,此时就要用到远程过程调用RPC。其实,NFS运行在SUN公司提出的RPC (Remote Procedure Call,远程过程调用)基础上,RPC定义了一种与系统无关的方法来实现进程间通信,由此NFS Server也可以看作是RPC Server。

3)当我们在使用某些服务来进行远程联机的时候,有些信息,例如主机的IP、服务的

portnumber、与对应到的服务之PID等等,都需要管理与对应。这些管理port的对应与服务相关性的工作,就是RPC(Remote Procedure Call,远程过程调用)任务,RPC定义了一种与系统无关的方法来实现进程间通信。NFS本身的服务并没有提供资料传递的协议,但是NFS却能让我们进行档案的分享,这其中的原因就是NFS使用了其它相关的传输协议,实际上NFS运行在RPC基础上,NFS Server也可以看作是RPC Server,也就是说NFS本身就是使用RPC的一个program。

4)NFS允许系统将其目录和文件共享给网络上的其他系统。通过NFS,用户和应用程序可以

访问远程系统上的文件,就像它们是本地文件一样。NFS最值得注意的优点有:

a.本地工作站可以使用更少的磁盘空间,因为常用数据可以被保存在一台机器上,并让网

络上的其他机器可以访问它。

b.不需要为用户在每台网络机器上放一个用户目录,因为用户目录可以在NFS服务器上

设置并使其在整个网络上可用。

c.存储设备如软盘、光驱及USB设备可以被网络上其它机器使用,这可能可以减少网络

上移动设备的数量。

1.2.虚拟机网卡安装及设置

使用NFS首先要具备网络通信条件,因此需要在虚拟机中先设置网卡。

在VMWare软件的“虚拟机”菜单中选择“设置”,打开“虚拟机设置”对话框,进入“硬件”页面,点击“添加”按钮,选择“网络适配器”条目。

选择“桥接模式”和“复制物理网络连接状态”,点击“完成”。

“桥接模式”即虚拟机中的网卡虚拟成一独立网卡,通过物理网卡架设一座桥,直接连接入网络中,在网络环境中拥有自己独立的IP地址(本例中虚拟机网卡IP设置为固定值192.168.0.20),可被网络系统识别到,所有网络功能均与网络中的真实机器一致,这样才能确保虚拟机与开发板之间的正常网络通信。

这一网络设置需要注意,真实物理主机的网卡必须处于连接状态,即必须与至另一网络设备建立正常的网络连接(可以是开发板、交换机,或者另一台机器的网卡),Windows网络设置中查看“本地连接”不能是红叉的断开连接状态,必须是“已连接”状态,否则虚拟机与物理主机将无法通信,也无法访问任何网络资源。这在调试开发板时无需关注,因为开发板此时通常连接至物理主机上,但单独调试虚拟机时将导致网络通信无法使用。

对于具有多个网络接口的物理主机(如多网卡,有线网卡和无线网卡并存等),需要对虚拟机网卡进行设定。在菜单中选择“编辑—〉虚拟网络编辑器”,在对话框中对桥接模式的VMnet0进行设置,在VMnet信息中,桥接模式中“桥接到”选项框中设置为与开发板连接的有线网卡上。

设置虚拟机中网卡的IP地址。

由于使用了桥接模式,虚拟机网卡为独立网卡,拥有自身独立的IP地址,本例中将其IP地址设置为固定值192.168.0.20,与物理主机Windows操作系统中的网卡IP地址192.168.0.10不同。

用命令行控制台字符终端检查网络设置,并互相用ping命令检查确认宿主机中的Linux虚拟机(192.168.0.20)与物理主机(192.168.0.10)、物理主机(192.168.0.10)和开发板(192.168.0.232)、宿主机中的Linux虚拟机(192.168.0.20)和开发板(192.168.0.232)之间的网络连接。

通过Putty软件在开发板的远程登录命令行字符终端操作界面中,ping通虚拟机。

相关文档
最新文档