本文主要是介绍使用-virtualbox主机客户机共享物理串口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本人电脑上安装的时ubuntu系统,使用virtualbox的虚拟机里面安装了一个XP。
但由于工作关系,某些xp下的工具需要使用主机上的物理串口。
这时有两个办法:
1、在vbox里直接把物理串口分配给XP,设置如下图所示
只要这样设置以后,XP就能直接使用主机的物理串口。
但也有问题,就是XP会独占串口,导致ubuntu反而不能使用串口了。于是就有了第二种方法。
2、方法二是通过软件的方式,把物理串口的数据转发给XP。
1)首先,vbox的串口设置改为管道的方式,管道文件为/tmp/vbox-serial。如下图所示:
tips:使用/tmp/目录是由于该目录是一个存在于内存中的,读写速度快。
2)设置好vbox以后,在ubuntu打开终端,使用socat工具把物理串口的数据转发到管道文件中。
socat unix:/tmp/vbox-serial /dev/ttyS0
注意,socat需要一直运行,不能关闭终端。如果没有socat工具的话可以自己用apt-get安装。
3)启动虚拟机XP,在XP里面就可以直接使用COM1了。此时,就好像时直接接上了物理串口一样。
这样,当XP不需要使用串口的时候,退出socat就可以了,相当的方便。
整个数据流是这样的:
物理串口--ubuntu /dev/ttyS0--socat--/tmp/vbox-serial--XP COM1
这篇关于使用-virtualbox主机客户机共享物理串口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!