使用SylixOS虚拟串口,实现系统串口自由

在博客《开启虚拟机第二串口命令行》讲了如何让虚拟机中的串口对接到Windows系统虚拟串口或物理串口。在simulator中并不是所有平台都有第二串口,得bsp支持才行,而且最多也只能有第二个而不能有第三第四个。对于一个实际的物理板卡,自然其串口数也是固定的。

那么,可不可以像windows上的虚拟串口那样给SylixOS任意添加虚拟串口呢?答案是肯定的,作者近期就开发一组SylixOS虚拟设备相关程序,其中一个就是创建虚拟字符设备。虚拟串口是字符设备,那自然也可以创建虚拟串口,其实虚拟字符设备是按照字符设备框架设计的,并不关心具体是什么设备类型,设备名字可以任意指定。

启动一个虚拟机查看设备列表如下,可见此系统当前只有一个串口,且已当做系统命令行被使用。
在这里插入图片描述
接下来,安装VCD虚拟字符设备内核模块
在这里插入图片描述
创建一各虚拟设备“dev/tty1”
在这里插入图片描述
在这里插入图片描述

启动一个串口应用,功能是把收到的内容原样返回。同时使用网络调试助手连接虚拟串口的socket,并向其发送数据,看是否有回应。
在这里插入图片描述
在这里插入图片描述

查看虚拟设备当前状态
在这里插入图片描述

printen命令用于动态开启或关闭对应虚拟设备的调测打印,用于测试分析。
在这里插入图片描述
在这里插入图片描述
本示例逻辑框图
在这里插入图片描述

另一个实用情景是:本来设备和上位机通过串口连接进行调测,但实际设备开发和上位机开发两个人不在同一城市,那借助虚拟串口和内网穿透可以实现相同逻辑连接。

在这里插入图片描述

在这里插入图片描述

简单总结下,虚拟串口(也可以是任意虚拟字符设备)以内核模块方式安装运行(物理机还是虚拟机都可以,无差别),提供vcd命令,通过命令操作可以自由创建,查看,删除虚拟设备。虚拟设备一端提供标准设备文件接口,可供应用程序无差别(相较于真实设备)调用;一端提供TCP端口,可连接本机或其他主机(可以是window,Linux,SylixOS等)网络助手、网络应用程序、虚拟串口或网络转串口等软件。应用非常的灵活便捷。

自此,无论你用的SylixOS是虚拟机还是物理机,都可以添加任意多个虚拟串口设备,供应用程序调用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ScilogyHunter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值