Linux下使用 Virtualbox 虚拟串口

环境是Host和Guest都为Linux。

按照官方文档,Raw File模式只允许Guest端写入,Host端是只读的,TCP/IP模式配置起来较为麻烦,所以端口模式我们选择“主机管道”。在Linux环境下,主机管道模式默认创建的是一个Unix Socket文件,操作起来不方便,于是我们需要借助一款工具socat(这里真心怀疑是Oracle故意给Linux用户添堵),它可以将两个地址关联起来,对其中一个的读写操作会传送给另一个地址。

sudo apt-get install socat

Host端执行以下操作之一:

# 1. 绑定到pipe
mkfifo /tmp/com1.pipe
socat UNIX-LISTEN:/tmp/socket0 PIPE:/tmp/com1.pipe

# 2. 绑定到STDIO,不过只支持ASCII字符
socat UNIX-LISTEN:/tmp/socket0 STDIO

VirtualBox按照以下配置:

OK,可以打开虚拟机了,在Guest中访问/dev/ttyS0,在Host中访问/tmp/com.pipe1便可以进行通信了。如果是STDIO模式的话,直接在shell窗口输入可以进行数据的收发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值