vmware虚拟机如何使用串口?

vmware虚拟机如何使用串口?,第1张

如何开启VMware串口
先前在玩GEC2410时,有个想法,就是在linux下进行调试,由于目标板上电或复位时会发送信息给PC机的串口,这已在windows下实现过,于是想在linux下看看效果,可是当时我在linux下设好串口后,发现一点反应都没有,当时以为是自己没有安装交叉编译环境,于是昨天晚上把嵌入式 linux下的交叉编译环境装好后,心想这下应该可以拉,没想到我上电目标板,linux下的串口一直没有反应,郁闷,怎么这样呢,既然不适交叉编译环境的原因,总得有个原因吧,于是我上网搜,先前我也够笨的,怎么就不知道上网查呢,呵呵,原来是我没有把VMware的串口打开,呵呵,马上关机[关虚拟机下的系统],在VM->Setting->点击ADD,把串口加进来,呵呵设置时尽量不要用自动检测,要选中串口,反正即使你的虚拟系统启动后可以随便改的,同时要把串口设为启动时就连接拉,这样,linux下的串口在目标板上电或复位后收到和windows下一样的数据,哈哈,爽!
环境:
宿主机:Windows7 VMware71
虚拟机:Fedora12
VMware的串口:
一个虚拟机最多可以添加四个虚拟串口,有如下几个方法配置虚拟串口:
连接一个虚拟串口到宿主机的物理串口。
连接一个虚拟串口到宿主机上的一个文件。
在两个虚拟机之间建立一个直接的连接,或者将虚拟机的串口与宿主机的应用程序连接。
为虚拟机添加串口
首先要保证虚拟机处于关机(power off)状态,选择菜单中的VM -> Settings ,在Hardware标签页中点击Add按钮,在Add Hardware Wizard对话框中选择Serial Port,点击next,如图:
然后要选择Serial port type,共有三种类型:
1如果你要使用宿主机的物理串口设备,选择Use physical serial port on the host,然后点击next,选择你要使用的物理串口即可。
2如果想要将串口数据输出到一个文件,选择 Output to file,然后next,选择输出文件,该文件是一个txt文本文件。启动虚拟机后做个测试,在命令行中执行:
echo "asdf" >> /dev/ttyS0,
然后打开输出文件,即可看到串口输出的字符串asdf。
3使用named pipe可以实现两个虚拟机或虚拟机与宿主机的应用程序通过串口连接。选择Output to named pipe,点击next,进入如下界面:
输入管道名,对于windows宿主机,管道名格式为 ///pipe/ ,必须以 ///pipe/开头。
输出调试信息到宿主机上的应用程序:
第一个下拉菜单选择This end is the server或This end isthe client,在第二个下拉菜单选择The other end is an application。
输出调试信息到另一个虚拟机:
第一个下拉菜单选择This end is the server,第二个下拉菜单选择The other end is an application。
将两个虚拟机用串口连接:
在虚拟机上安装Fedora12和ubuntu1004,为两个虚拟机添加串口,
Fedora12的串口设置为:
Ubuntu1004的串口设置为:
这样设置后Fedora的串口为serial port 1,设备名为ttyS0,ubuntu的串口为serial port 2,设备名为ttyS1。
测试:
在Fedora下执行:
cat < /dev/ttyS0
在ubuntu下执行:
echo hello > /dev/ttyS1
在Fedora里可以看到收到的字符串hello,说明ubuntu发送和Fedora接收正常,可以互换后做同样的测试。
语 法
statserial[必要参数][设备]
功 能
statserial 命令:显示各个接脚的状态,常用来判断串口是否正常,Ctrl+C退出
类似命令: stat
相似命令: linux命令
执行权限: 超级用户 普通用户
命令属性: 网络通讯
参数
必要参数
-n 不循环显示
-d 十进制显示
-x 十六进制显示
选择参数

范例
范例1:显示串口状态
[root@linux ~]# statserial /dev/tty1
范例2:只显示一次串口状态
[root@linux ~]# statserial -n /dev/tty1

串口服务器工作方式

1、TCP/UDP通讯模式: 该模式下,串口服务器成对的使用,一个作为server端,一个作为client端,两者之间通过IP地址与端口号建立连接,实现数据双向透明传输。该模式适用于将两个串口设备之间的总线连接改造为TCP/IP 网络连接。

2、使用虚拟串口通讯模式: 该模式下,一个或者多个转换器与一台电脑建立连接,支持数据的双向透明传输。由电脑上的虚拟串口软件管理下面的转换器,可以实现一个虚拟串口对应多个转换器,N 个虚拟串口对应M 个转换器(N M )。该模式适用于串口设备由电脑控制的485 总线或者232 设备连接。

3、基于网络通讯模式: 该模式下,电脑上的应用程序基于SOCKET 协议编写了通讯程序,在转换器设置上直接选择支持SOCKET 协议即可。



杭州飞畅 科技 专注光端机,光纤收发器,工业交换机,协议转换器产品的研发设计,主要提供电话光端机,PDH光端机,物理隔离光端机,以太网光纤收发器,工业以太交换机,E1协议转换器等传输入与接入设备,欢迎前来了解、交流。

有 软件吧
访问某个 ip 端口,就像 存取 COM端口一样!
虚拟串口软件 vpsm
将TCP/IP、UDP网络协议映射成本机的虚拟COM口,用于串口服务器、GPRS/CDMA、EIO联网等产品的虚拟串口映射。

KEIL中用虚拟串口调试串口程序,只能查看串口发送的字符,不能接收。

如下图,在运行状态下,点开UART串口。

要真正调试串口程序,还是用proteus 更好些,用虚拟终端,就像是单片机与电脑串行通信一样,可以在虚拟终端上显示,也可以在虚拟终端上输入。如下图


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13167928.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-15
下一篇 2023-06-15

发表评论

登录后才能评论

评论列表(0条)

保存