驱动开发 - WDK 调试及 SVN 环境搭建
由于从公司辞职了,所以以前在公司里搭建的驱动开发环境也就 Game Over 了,
同样由于那环境是很久以前搭建的,自己也有很多记不清楚的地方了,
而且其中还是有很多需要注意的地方的,所以在这里顺便做一个环境搭建的总结,
以后再要用的时候也会很方便的。
WDK 调试环境搭建:
安装 WDK:
自然首先是安装 WDK 了,这个好办,直接到官网上下载,然后安装就 OK 了,
注意的是,在安装中最好是选择安装全部,并且最好是安装在 C 盘下。
设置调试环境:
这个其实也好办,就是使用 WinDbg 来调试虚拟机或者通过串口线可以使用 WinDbg 来调试另外一台 PC 。
其中呢,如果你机器还算好,可以同时跑的起几个 Visual Studio + 虚拟机的话,那就没必要使用 2 台 PC 。
但是如果你机器不咋的的话,像我自己家里的这种几年前的古董,跑个虚拟机就卡的跟什么似的的话,
那最好是准备 2 台 PC ,不然调试的时候会让人抓狂的。还有值得一提的是,在虚拟机中调试的话,
实质上,是虚拟机通过命名管道来虚拟出一个串口,所以其速度和真实的使用两台 PC 通过串口调试是有区别的。
WinDbg 调试虚拟机:
设置虚拟机:
首先在虚拟机中安装 XP ,然后修改该 XP 系统的根目录下的 BOOT.INI 文件
(该文件默认是隐藏的,并且其属性为只读,所以需要先去掉只读属性)。
比如本来的 INI 文件为:
那么需要将该 INI 文件修改为如下:
上面的最后加的这一句表示我们加载的 Windows 内核的调试端口指定为 Com4 ,并且设置波特率为 115200 。
在这里设置好 BOOT.INI 文件后,我们便需要设置虚拟机中的 XP 了,
实际上是虚拟机通过命名管道来像我们的 PC 虚拟出一个串口。
具体设置详见插图:
(注意下面的 com_4 ,这个 com_4 和我们在 BOOT.INI 文件中的设置是相对应的)
设置 WinDbg:
再提一点,可以通过设置 WinDbg 的启动参数来确保 WinDbg 能够调试虚拟机。
通过设置如下的启动参数可以使得 WinDbg 调试串口 \\.\pipe\com_4 。
C:\WinDDK\Debuggers\windbg.exe -b -k com:port=\\.\pipe\com_4,baud=115200,pipe
WinDbg 调试另外一台 PC:
要使用 WinDbg 来调试另外一台 PC 的话,至少得准备 2 台 PC 吧,呵呵。
在这里将装有 WDK 和 WinDbg 成为主机,而将另外一台 PC 称之为客户机吧。
设置客户机:
同样是修改 BOOT.INI 文件,这一步和上面的是一模一样的。
比如将 BOOT.INI 文件中的调试端口设置为使用 com_4 进行调试。
设置 WinDbg:
C:\WinDDK\Debuggers\windbg.exe -b -k com:port=\\.\com1,baud=115200
http://www.cnblogs.com/BoyXiao/archive/2011/05/06/2038578.html
驱动开发 - WDK 调试及 SVN 环境搭建的更多相关文章
- windows phone 8 开发系列(一)环境搭建
一:前奏说明 本人一名普通的neter,对新玩意有点小兴趣,之前wp7出来的时候,折腾学习过点wp7开发,后来也没怎么用到(主要对微软抛弃wp7的行为比较不爽),现在wp8已经出来一段时间了,市场上也 ...
- 【ARM-Linux开发】在win下开发的eclipse+yougatoo+jlink环境搭建
在win下开发的eclipse+yougatoo+jlink环境搭建 一 工具的安装 第一步:安装gcc编译工具 yagarto-bu-2.21_gcc-4.6.2-c-C++_nl-1.19.0_g ...
- Windows7下驱动开发与调试体系构建——0.概述
本文集内容为windows7x64下驱动开发与调试体系构建,内容目录如下: 1.驱动开发的环境准备 2.R3与R0的通信示例 3.自建调试体系概述 4.在x64下使用汇编代码 5.实战反调试标记位(N ...
- 最简单的SVN环境搭建过程
本文简单描述最简单的SVN环境搭建过程 搭建环境:windows (个人验证了windows2003,windows xp) 使用软件:Setup-Subversion-1.6.17 //Serve ...
- arcgis api for flex 开发入门(一)环境搭建
http://www.cnblogs.com/wenjl520/archive/2009/06/02/1494514.html arcgis api for flex 开发入门(一)环境搭建arcgi ...
- Android开发使用控件入门--环境搭建
Android开发使用控件入门--环境搭建 软件名称(,梦,,想.CAD ,控件) 1. 环境搭建: 3 1.1. 安装Eclipse 3 1.2. 下载JDK 3 1.3. 下载Android S ...
- 一.JSP开发的工具下载与环境搭建
JSP技术的强势: (1)一次编写,到处运行.在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改. (2)系统的多平台支持.基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统 ...
- 行为驱动:Cucumber + Selenium + Java(一) - 环境搭建
1.1 什么是行为驱动测试 说起行为驱动,相信很多人听说过. 行为驱动开发-BDD(Behavior Driven Development)是一个诞生于2003年的软件开发理念.其关键思想在于通过与利 ...
- 跨平台开发之阿里Weex框架环境搭建(一)
转载自:http://www.cnblogs.com/fozero/p/5995122.html 一.介绍 Weex是阿里今年6月份推出的跨平台解决方案,6月底正式开源.官网 https://alib ...
随机推荐
- 第二十三篇、使用NSURLSession时需要注意一个内存泄漏问题
如图1代码所示,初始化一个NSURLSession临时实例对象并由它发起一个网络请求.我们通过Instruments的Leaks工具会发现其存在内存泄漏和循环引用的地方,如图2所示. 通过NSURLS ...
- 10_HTTP协议_入门知识
[什么是HTTP协议] 对 浏览器客户端 和 服务器端之间的数据传输的格式规范. 客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵循一定的通讯格式,HTTP协议用于定义客户端与 ...
- HTML5 Video与Audio 视频与音频
---- 视频Video对象 - 指定视频播放地址 <video width="320" height="240" controls="cont ...
- ubuntu获取硬盘的uuid。
1.用UUID来标识硬盘有很多好处,它是一个硬盘的唯一代号,所以当硬盘插口位置变化时,虽然sda可能会变成sdc,但这个码是不会变的.所以在 fstab中用/dev/sda1这样的硬盘标识可能会有混乱 ...
- Yii 通过widget小物件生成添加表单
通过widget小物件创建添加商品的表单 视图里,表单以endWidget();?>结束 最终效果: 把表单提交过来的信息保存到数据库中去. 补充要点: 密码表单: <?php echo ...
- 不使用BeanUtils,利用Java反射机制:表单数据自动封装到JavaBean
在百度搜“java反射 将表单数据自动封装到javabean ”,第一页显示的都是一样的代码,都是利用导入第三方jar包<commons-beanutils>和<commons-lo ...
- php 开启缓冲,页面纯静态化
服务器默认不开启php缓冲区 两种方法开启 1.php.ini out_put_buffer = on 2.ob_start(); 页面纯静态化 file_put_contents()写文件 ob_s ...
- struct timespec 和 struct timeval
time()提供了秒级的精确度 . 1.头文件 <time.h> 2.函数原型 time_t time(time_t * timer) 函数返回从TC1970-1-1 0:0:0开始到现在 ...
- laravel homestead
laravel homestead真是个好东西啊,折腾了很长时间,终于ok啦. 安装成功之后,在-目录下有个homstead,进入执行vagrant up clzdeMBP:Homestead clz ...
- Oracle datafile特殊字符处理
1.发现数据库的数据文件有特殊字符: 2.尝试在sqlplus下用将tablespace offline后修改 SQL> alter tablespace WST_DATA rename dat ...