本文内容部分翻译自VMware的帮助文档。
环境:
宿主机:Windows7VMware7.1
虚拟机:Fedora12
VMware的串口:
一个虚拟机最多可以添加四个虚拟串口,有如下几个方法配置虚拟串口:
连接一个虚拟串口到宿主机的物理串口。
连接一个虚拟串口到宿主机上的一个文件。
在两个虚拟机之间建立一个直接的连接,或者将虚拟机的串口与宿主机的应用程序连接。
为虚拟机添加串口
首先要保证虚拟机处于关机(poweroff)状态,选择菜单中的VM->Settings...,在Hardware标签页中点击Add按钮,在AddHardwareWizard对话框中选择SerialPort,点击next,如图:
然后要选择Serialporttype,共有三种类型:
1.如果你要使用宿主机的物理串口设备,选择Usephysicalserialportonthehost,然后点击next,选择你要使用的物理串口即可。
2.如果想要将串口数据输出到一个文件,选择Outputtofile,然后next,选择输出文件,该文件是一个txt文本文件。启动虚拟机后做个测试,在命令行中执行:
echo"asdf">>/dev/ttyS0,
然后打开输出文件,即可看到串口输出的字符串asdf。
3.使用namedpipe可以实现两个虚拟机或虚拟机与宿主机的应用程序通过串口连接。选择Outputtonamedpipe,点击next,进入如下界面:
输入管道名,对于windows宿主机,管道名格式为//./pipe/<namedpipe>,必须以//./pipe/开头。
输出调试信息到宿主机上的应用程序:
第一个下拉菜单选择Thisendistheserver或Thisendistheclient,在第二个下拉菜单选择Theotherendisanapplication。
输出调试信息到另一个虚拟机:
第一个下拉菜单选择Thisendistheserver,第二个下拉菜单选择Theotherendisanapplication。
将两个虚拟机用串口连接:
在虚拟机上安装Fedora12和ubuntu10.04,为两个虚拟机添加串口,
Fedora12的串口设置为:
Ubuntu10.04的串口设置为:
这样设置后Fedora的串口为serialport1,设备名为ttyS0,ubuntu的串口为serialport2,设备名为ttyS1。
测试:
在Fedora下执行:
cat</dev/ttyS0
在ubuntu下执行:
echohello>/dev/ttyS1
在Fedora里可以看到收到的字符串hello,说明ubuntu发送和Fedora接收正常,可以互换后做同样的测试。