- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 第3课 实现产品搜索.doc
- 驱动程序原理教材.doc
- 第三章 毕业论文·我国网络游戏盈利模式分析.doc
- 小批量不合格品返检处理流程讲述.doc
- 交换原理第6讲.pdf
- 全国公共营养师等级考试--二级--模拟试题教材.pdf
- 东信及平智能卡股份有限公司关于召开公司2008年度第一次临时股东大会的通知.pdf
- 分布式 DBA 创建及使用分区表.pdf
- 第8讲 ADS集成开发环境的使用.pdf
- 算法和程序实践习题解答8(递归)_new.doc
- 2025年管理者的基本技能:培养员工的应变能力报告.pdf
- 2025年赋能经理赋能团队:构建一支充满活力的员工队伍报告.pdf
- 数世咨询零零信安:全球数据泄露态势月度报告(2025年3月).pdf
- 第一财经商业数据中心:2025年上海咖啡消费趋势报告.pdf
- 3D全息投影沙盘规划设计方案以及沙盘模型制作的解决方案服务提供商.pdf
- 北京大学能源研究院:2024年中国燃气发展目标与展望报告.pdf
- 未来移动通信论坛:11.0A通感一体赋能数字低空网络白皮书.pdf
- 2023年气候变化下的生物多样性:城市小微生境的作用不可忽视报告.pdf
- 未来移动通信论坛:2025年低空经济场景应用与通信需求白皮书.pdf
- 2023-2024年剑桥大学人工智能学院年度报告(英文版).pdf
文档评论(0)