网站大量收购独家精品文档,联系QQ:2885784924

主机和vmware虚拟客户机的串口通讯.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
vmware 串口调试 下载地址:VMWareGateway /91.php 在系统内核开发中,经常会用到串口调试,利用VMware 的Virtual Machine 更是为调试系统内核如虎添翼。 那么怎么搭建串口调试环境呢?因为最近工作涉及到这方面,利用强大的google 搜索和自己一点摸索也算 是有点收获,总结出来和大家分享。 Virtual Machine 主要有三种串口调试技术,可以在serial port 的配置界面找到: 1. Use physical serial port 即使用物理机串口,当用串口线盒另一台电脑连接时,就用这种方式 2. Use output file 即把串口数据输出到宿主机某文件中,当只需要看输出结果的时候可以用这 种方式,简单方便 3. Use named pipe 把串口输出到命名管道,命名管道可读可写,也就可以交互,进行一些debug 工作,而不是简单的看结果 因为前两种相对简单易用就不具体介绍了,这里主要说第三种用命名管道调试方法。命名管道,在Linux 中是进程间通信(IPC)的一种方式,两个进程可以通过读写管道来交换数据。这里就是运用了这种技术,通 过把串口绑定一个有名管道,对有名管道的读写交换串口数据。也有两种方式:1. 宿主机与虚拟机之间, 2. 在同一宿主机上,两虚拟机间通过绑定同一个宿主机上的有名管道。问题的关键在于如何把虚拟机串口 绑定到宿主机的某一有名管道,而第一种方式则需要找到一种方式使得主机如何读写有名管道来交互,经 过一阵Google 终于找到分别在Linux 和Windows 分别试验成功的工具。 在Windows 中有名管道式通过路径\\ .\pipe\namedpipe 来创建的,当然你可以指定到其他机子如 \\ 0\pipe\namedpipe,而在Linux 中,/tmp/mypipe 就可以了。创建好有名管道后,就是如何和 管道交互了。目前,无论是Windows 还是Linux,似乎都没有一款工具可以直接读写有名管道的,而我找 到的两个工具都是通过把有名管道和Socket 绑定,通过读写Socket 来间接读写管道。 下面我就简要介绍一下在Windows 和Linux 下如何配置: Linux Host: Host ~ Virtual Machine 1. configure VM a. add hardware - Serial port b. using named pipe c. /tmp/isocket d. this end is server far end is application e. check Yield CPU on poll f. start Virtual Machine 2. socat /tmp/isocket tcp4-listen:9001 /tmp/socket: VMware call it named piped, actually it is Unix Daemon Socket , so you shouldnt use pipe:/tmp/socket 3. telnet 9001 Trouble Shoot: 有时候会遇到错误Connection closed by foreign host,或者telnet 一开,socat 就能退出, 很可能是你没power on 虚拟机,有名管道还没创建,你就socat,这样也会创建一个名为isocket 的文件 但只是普通文件。具体的细节请看socat help start Virtual Machine first, than run the socat, and telnet (Note you must have permission to all resource, /tmp/socket, VM and so on) Vritual Machine ~ Virtual Machine 1. configure VM a. add hardware -- serial port b. Using named pipe, configure /tmp/isocket c. this end is server far end is Virtual Machine d. check Yield CPU on poll e. start VM 2. Another VM a. add hardware -- Serial Port b. Using

文档评论(0)

0520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档