=================================版权声明=================================

版权声明:原创文章 谢绝转载 

请通过右侧公告中的“联系邮箱(wlsandwho@foxmail.com)”联系我

勿用于学术性引用。

勿用于商业出版、商业印刷、商业引用以及其他商业用途。                

本文不定期修正完善。

本文链接:http://www.cnblogs.com/wlsandwho/p/4856272.html

耻辱墙:http://www.cnblogs.com/wlsandwho/p/4206472.html

=======================================================================

狠下心来买了个8G内存条(2014年还500多的万紫千红呢),又下决心做了64位系统,终于可以开(zhan)开(zhan)心(jing)心(jing)的学点东西了。

=======================================================================

硬件环境:

CPU  i3-4150(勉强够用了,可有钱还得上E3,8个框框神秘加成不可小觑。)

内存  2+2+8(就是这么任性。以后还得买个8G,因为插满好评。)

硬盘  ssd+hdd

=======================================================================

软件环境:

操作系统   Windows7 64

虚拟机    VMware Workstation10.0.2 build-1744117

虚拟串口     VSPD

串口调试助手   随意

=======================================================================

防揪心,我决定全部在虚拟机里进行开发和测试。(不信邪的仁人志士可以直接使用本机电脑和一个虚拟机来做驱动开发以及相关测试。)

=======================================================================

安装虚拟串口(我用的这个)。添加串口2和串口4。务必重启电脑。

创建两个虚拟机,一个作为开发虚拟机,另一个作为测试虚拟机。各分配30G硬盘和2G内存。开发虚拟机存放在SSD,测试虚拟机存放在HDD。

为虚拟机添加串口。

在开发虚拟机里,选择串口2,发送数据。

可以在测试虚拟机里收到数据。

=======================================================================

上面仅表示串口已通可用,但是想让两个虚拟机双机调试,还得做额外的设置。

=======================================================================

将测试虚拟机设置成调试模式:

1 查看下有什么加载器

2 备份当前的加载器(以便直接进行配置,备份的那个加载器用于正常(非调试)启动。)

3 开启“调试”和“启动调试”

4 先查看下调试设置

发现使用的是串口1,波特率为115200。

因为之前用串口助手测试时,配置的是串口2,所以这里也要改一下。(我的虚拟机安装完成时,默认自带的串口1和串口3,当给虚拟机添加新的串口时,自动使用的串口2。当然串口名可以自己改,跟改盘符差不多的样子。)

5 修改调试设置

要注意的是还要同时设置波特率,不然波特率的设置就丢失了。(不信可以自己试试呀。)

6 再查看下调试设置

测试虚拟机就配置完了。

=======================================================================

下面设置开发虚拟机。

1 安装VS2013+WDK8.1或者VS2015+WDK7.1。

第一套配置的好处是微软官方页面上写的就是它,而且可以创建各种驱动项目,缺点是开始菜单下没有命令行环境等,而且跟各种书籍对不上号;第二种的配置的好处当然就是有命令行环境而且能跟当下的书籍对上号啦。

所以,我做了两个开发虚拟机,目前先用VS2015+WDK7.1的那个。

(安装WDK7.1之后还能安上WDK8.1,可是VS2015里面并没有可以用于创建驱动的项目。亲测不骗人!不知道会不会有问题。)

2 设置一下WinDbg快捷方式的目标,给它弄一些参数。

图片中“目标(T)”里的命令为:

 "C:\Program Files\Windows Kits\8.1\Debuggers\x86\windbg.exe" -b -k com:port=,baud=

如果不设置快捷方式也可以哦,只是每次都要在管理员权限的CMD里敲同一个命令行感觉并没有什么实际意义。

3 据说WinDbg要设置符号表。据说要按下Ctrl+S来输入SRV*C:\symbolcache*http://msdl.microsoft.com/download/symbols

开发虚拟机也配置完了。

=======================================================================

下面需要自己实际的双机调试一下。

测试虚拟机:

依次执行net start 和net stop 命令

开发虚拟机会在测试虚拟机运行net start时触发设置的int 3中断。

此时在卸载程序里加断点,则可以在测试虚拟机运行net stop时触发断点。

下面附上测试驱动“HelloDriver”的代码以及其他小文件。

 #include <ntddk.h>

 VOID DriverUnload(PDRIVER_OBJECT pDriverObj)
{
DbgPrint("Goodbye Driver!");
} NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObj, PUNICODE_STRING pUnicodeStrPath)
{
#if DBG
_asm int
#endif
DbgPrint("Hello Driver!"); pDriverObj->DriverUnload = DriverUnload; return STATUS_SUCCESS;
}

makefile文件

 !IF
This file is created by WLS.
!ENDIF
!INCLUDE $(NTMAKEENV)\makefile.def

SOURCES文件

 TARGETNAME=HelloDriver
TARGETTYPE=DRIVER
SOURCES=HelloDriver.c

Windows驱动——虚拟机 虚拟串口 双机调试的更多相关文章

  1. VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)

    ------------VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)------------- WIN10已上线,随之而来的是VS2015:微软在 "WDK760 ...

  2. Windows系统添加虚拟串口及CanToolApp功能1的实现

    项目开始尝试用com0com添加虚拟串口,但是遇到了问题,系统中可以看到添加的虚拟串口,但是用C#无法获取串口.经过多次尝试后,决定换用Virtual Serial Port Driver添加虚拟串口 ...

  3. 使用Windows驱动的虚拟打印机,打印Excel表格无表格线问题解决(2)

    测试: 经前天的测试,最终还是没有明显的定夺到底是驱动的问题,还是打印机的问题.但是按照可能性来排查,最明显的一点就是其他测试环境不变的情况下增加一张图片,就可以打印出表格线,我始终觉得这里是突破点, ...

  4. windows串口之虚拟串口和Access port

    关于 本文将介绍自己常用的串口工具,演示环境为Windows. 1. 虚拟串口 1.1 没有那么多的物理串口, 用虚拟串口来凑.需要软件Configure Virtual Serial Port Dr ...

  5. HYPER-V的安装和双机调试的配置(一)

    在上一篇文章中,我们已经安装好了VS2017以及WDK,现在我们就需要创建双机调试的环境, 因为本人的工作环境问题,不能使用WMWARE进行虚拟机的安装,因此就针对HYPER-V这个的虚拟机来进行双机 ...

  6. Linux 虚拟串口及 Qt 串口通信实例

    Linux 虚拟串口及 Qt 串口通信实例 2011-06-22 17:49 佚名 互联网 字号:T | T Linux 虚拟串口及 Qt 串口通信实例是本文所要介绍的内容,在实现过程中,打开了两个伪 ...

  7. 没有真实串口设备时使用"虚拟串口驱动"调试你的串口代码

    目录 前言 示例代码 总结 前言 很多时候需要编写串口代码,但是又没有真实串口设备来调试代码.以及本身就是要操作2个串口的情况,可以使用"虚拟串口驱动"工具方便的调试代码. 使用方 ...

  8. 在mac上用parallels创建双windows虚拟机调试windows驱动

    先创建两个windows 7 虚拟机,一个装windbg作为调试机,一个被调试 1 调试机 1 先装windbg https://developer.microsoft.com/en-us/windo ...

  9. Windbg驱动双机调试环境配置

    [由于进入了Windows驱动编程领域第一步就是搭建环境,整个环境来说说难也不难,只是比较麻烦.文章有些地方比较繁琐的,而且别人写的比较好,作为引用参考直接贴连接了.如果你按照我写的一步步完成,很快就 ...

随机推荐

  1. 浅谈2D游戏设计模式2- WZ文件详解(UI.WZ)之MapLogin.img(1)

    玩过冒险岛的人都知道有一个WZ文件,那么这个WZ文件的内部是怎么样的呢,今天我就带大家一探究竟. 说实在的,我这是第一次接触WZ文件,但是却让我很震撼,为什么很震撼,因为这个居然是用VS2010写的! ...

  2. css常用的特效代码

    一.网页变灰的代码:a) 网页变灰色<head>加到这里</head><style type="text/css">html {FILTER: ...

  3. Easyui datagrid行内【添加】、【编辑】、【上移】、【下移】

    前几天项目中遇到一个需求用到了Easyui datagrd行内添加和编辑数据,同时对行内数据上移下移,所以对这几个功能做个总结. 1.首先大概说下这几个功能里用到的主要方法,行内添加数据主要是添加列的 ...

  4. 淘宝购物车页面 PC端和移动端实战

    最近花了半个月的时间,做了一个淘宝购物车页面的Demo.当然,为了能够更加深入的学习,不仅仅有PC端的固定宽度的布局,还实现了移动端在Media Query为768px以下(也就是实现了ipad,ip ...

  5. 从零开始,搭建博客系统MVC5+EF6搭建框架(5),博客详情页、留言、轮播图管理、右侧统计博文

    一.博客系统进度回顾 上一遍博客介绍到,系统已经实现到了发布以及前台布局展示,接下来就是实现一些,详情页,留言.轮播图管理.右侧博文统计信息实现. 二.博客系统详情页实现 2.1先来看看详情页展示的效 ...

  6. 9.Configure One-to-One(配置一对一关系)【Code-First系列】

    现在,开始学习怎么配置一对一的关系,众所周知,一对一的关系是:一个表中的主键,在另外一个表中,同时是主键和外键[实际上是一对零或者一对一]. 请注意:一对一的关系,在MS SQL Server中,技术 ...

  7. Win10 UWP 开发系列:使用多语言工具包让应用支持多语言

    之前我在一篇blog中写过如何使用多语言工具包,见http://www.cnblogs.com/yanxiaodi/p/3800767.html 在WinEcos社区也发布过一篇详细的文章介绍多语言工 ...

  8. 异步编程系列第05章 Await究竟做了什么?

    p { display: block; margin: 3px 0 0 0; } --> 写在前面 在学异步,有位园友推荐了<async in C#5.0>,没找到中文版,恰巧也想提 ...

  9. UDS(ISO14229-2006) 汉译(No.2参考标准)

    下列参考文件对本文件的系统是不可或缺的.注明日期的参考,仅关于对其引用的版本适用.未注明日期的,仅最新引用的文档(包括任何修改)适用. ISO 7498-1,信息技术——开放系统互联(OSI)——基本 ...

  10. Web(Jsp+ Servlet)开发中如何解决中文乱码问题

    1.中文乱码的成因 编码的字符集和解码的字符集不一致. 2.web开发过程中可能出现的乱码的位置及解决方案 ①request乱码 在向服务器传递数据时,所传递的中文有可能出现乱码. post请求(协议 ...