Windows7+WDK+VS2010+VisualDDK驱动开发环境搭建(菜鸟的经验)

2023-10-30

 

自己在研究驱动开发,第一步就是开发环境的搭建,网上已有很多的教程一,我也是按着教程一步一步搭建的,但在搭建过程的过程当中遇到一些问题,也花了我不少时间。

第一个难题就是,我是Windows7+VS2010+WDK的开发环境。

首先我参考了网上的一篇文章:http://www.cppblog.com/guojingjia2006/archive/2011/03/19/142211.html

但是结果失败了,编译的时候会出现错误。结果在网上找原因呀,发现把vc目录下的sal.h代替inc/api目录下的sal.h, 但是还是编译不过,后来我想还原inc/api目录下的sal.h,所以我就按了ctrl+z,结果不知道为何(可能是点快了),被我删掉了,于是我就没有了inc/api/sal.h。到止我放弃了上面那blog的方法决定另寻方法。

然后我又在网上找资料,发现了VisualDDK是一个不错的东东,也支持vs2010,于是我下载下来安装。然后我启动VS2010,新建了一个驱动的项目,试着编译一下(心里在祈祷,让我成功),结果大失所望。说找不到sal.h,因为我删掉了。知道原因就好办,我就想重新安装一下WDK吧,但重新安装的时候,才发现不能重新安装,除非你少选一项安装项,首次安装的时候我是全选所有安装项(非常郁闷)。于是我就报着试一试态度用上面用过的方法:用vc目录下的sal.h代替inc/api目录下的sal.h,然后再编译一次,这次是不同的错了,后来在网上找答案,发现了另一篇文章:http://www.cnblogs.com/xlhblog/archive/2011/03/22/1991785.html  下面引用BLOG的一段原文

那么这时候需要拷贝F:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sal.h,然后覆盖掉F:\WinDDK\7600.16385.1\inc\api\sal.h

这样就会导致另外一个问题,Microsoft Visual Studio 10.0\VC\include\sal.h 中include了CodeAnalysis\sourceannotations.h,所以如果在编译环境中调用build,会出现错误找不到 sourceannotations.h,所以要:

把 Microsoft Visual Studio 10.0\VC\include\CodeAnalysis  拷贝到 F:\WinDDK\7600.16385.1\inc\api 下!!

这一下再编译,哈哈,成功了!!!!

因为VisualDDK支持用IDE调试,所以我就想配置VisualDDK+VMwar7+VS2010来开发驱动。理想是美好的,但现实总是残忍的。我参考着http://www.cnblogs.com/BoyXiao/archive/2011/07/31/2122755.html来进行配置,结果失败了:在driver launch setting里面总是不能刷出我的vmware上的xp操作系统。在网上看到很多人说,这种方式经常会出现问题,大都建议用Windbg双机调试。 于是放弃这种驱动调试方法的环境配置,转到配置windbg双机调试的环境配置。

 

第二个难题就是双机调试的时候老是连接不上。

我是参看http://hi.baidu.com/iamahper/blog/item/0e697a37c0d2741a90ef394d.html进行双机调试环境配置,结果可是老是连接不上。 没办法,身边也没人懂,只能上网找答案,google了一下,发现了http://bbs.pediy.com/showthread.php?t=135895 这篇文章。我用的是WMware7,  于是我试一试的心态,把

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Debug" /fastdetect /debugport=com1 /baudrate=115200

改成了

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Debug" /fastdetect /debugport=com_1 /baudrate=115200

结果就成功了。

 

经过两天的摸索,现在环境终于配置好了。

开始我的驱动之旅了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows7+WDK+VS2010+VisualDDK驱动开发环境搭建(菜鸟的经验) 的相关文章

随机推荐

  • 恶意代码的分类

    计算机病毒 注意这是狭义上的定义 和网络蠕虫都可以进行自我传播 那他们的本质区别是什么 计算机病毒 一组能进行自我传播 需要用户干预来触发执行的破坏性程序或代码 网络蠕虫 一组能进行自我传播 不需要用户干预即可触发执行的破坏性程序或代码 1
  • [007]爬虫系列

    一 找到首次加载的js 用源码面板打开 二 第一行打断点 格式化 三 刷新网页 成功断点 执行hook 代码如下 function use strict var cookieTemp Object defineProperty docume
  • 前端实现流程图效果_微前端在58商业的探索实践

    导读 商业FE部门分四个业务组 每个组内迭代着多个中后台应用 其中有跨组协作项目 这些项目的特点是UI UE相似 有较多的组件 逻辑复用场景 技术栈统一为VUE 且项目在不断迭代中 实践微前端架构能提高业务复用性 让各团队更高效的分治项目
  • npm,webpack学习中遇到的各种问题

    问题 打包的时候报错 Uncaught ReferenceError regeneratorRuntime is not defined 解决 详见babel plugin transform runtime babel pollyfill
  • Python字典操作方法--items()

    d items 返回字典中的所有键值对信息 返回结果是Python的一种内部数据类型dict items 如果希望更好的使用返回结果 可以将其转换为列表类型 键值对以元组类型 即括号形式 表示 gt gt gt d 2018 小明 2019
  • Flutter与Native通信原理剖析与实践

    通信原理 我们分几种场景来介绍Flutter和Native之间的通信 Native发送数据给Flutter Flutter发送数据给Native Flutter发送数据给Native 然后Native回传数据给Flutter Flutter
  • 系统服务器有哪几种,服务器的操作系统有哪几种

    服务器的操作系统有哪几种 内容精选 换一换 切换操作系统是为您的云服务器重新切换一个系统盘 切换完成后云服务器的系统盘ID会发生改变 并删除原有系统盘 如果云服务器当前使用的操作系统不能满足业务需求 如软件要求的操作系统版本较高 您可以选择
  • 【yarn】yarn RMContainer 状态机正常执行流程

    1 概述 上一篇文章 Yarn Yarn Service端如何处理客户端提交的任务 在上一篇文章中 我们知道服务器接收到客户端提交的任务之后 会启动多个状态机进行联合操作 最终来解决任务提交之后的全流程 多个状态机合作完成任务 然后我们看了
  • 工业相机SDK二次开发

    1 工业相机编程模型和流程 2 工业相机SDK接口使用总结 3 Basler Pylon工业相机SDK的使用 4 Pylon 以实时图像采集讲解PylonC SDK使用流程 5 关于使用维视工业相机 SDK 采集图像的问题 6 工业相机SD
  • 【快速上手系列】使用七牛云+webuploader实现对象云存储(OSS)

    快速上手系列 使用七牛云 webuploader实现对象云存储 OSS 步骤 一 七牛云配置 1 新建存储空间 进入七牛云 注册登录 进入控制台 选择对象存储 Kodo 选择空间管理 新建空间 免费30天 写好了之后点击确定 2 获取 Ac
  • es--基础--9.2--SpringBoot注解--Field--介绍

    es 基础 9 2 SpringBoot注解 Field 介绍 内容 Retention RetentionPolicy RUNTIME Target ElementType FIELD Documented Inherited publi
  • node笔记01——Nodejs学习之fs模块、最齐全的node.js学习,包含练习案例整理

    Nodejs学习之fs模块 初始node js 浏览的中的JavaScript主要是有JavaScript核心语法和webAPI组成 浏览器中因为使用了JavaScript解析引擎 所以JavaScript代码才可以再浏览器中被执行 不同浏
  • log4j2漏洞复现

    一 漏洞描述 apache log4j通过定义每一条日志信息的级别能够更加细致地控制日志生成地过程 受影响地版本中纯在JNDI注入漏洞 导致日志在记录用户输入地数据时 触发了注入漏洞 该漏洞可导致远程代码执行 且利用条件低 影响范围广 小到
  • python is和==的区别

    python 中 is和 的区别 在 Python 中会用到对象之间比较 可以用 也可以用 is 但是它们的区别是什么呢 is 比较的是两个实例对象是不是完全相同 它们是不是同一个对象 占用的内存地址是否相同 莱布尼茨说过 世界上没有两片完
  • Webpack中常见的Loader?解决了什么问题?

    一 是什么 loader 用于对模块的源代码进行转换 在 import 或 加载 模块时预处理文件 webpack做的事情 仅仅是分析出各种模块的依赖关系 然后形成资源列表 最终打包生成到指定的文件中 如下图所示 在webpack内部中 任
  • JetBrains IDE Support Chrome 安装的正确姿势

    文章目录 1 准备 2 步骤 2 1 解压 2 2 修改为 rar后缀名 2 3 再次解压 2 4 找到扩展程序 2 5 移动文件夹 2 6 安装效果 3 结束语 1 准备 Chrome浏览器 JetBrains IDE Support插件
  • DIY多快充协议太阳能充电器!----锂电池充电电路

    上一篇文章介绍了项目硬件框图中的三个主要部分 分别为BUCK降压拓扑为锂电池充电 BOOST升压拓扑将锂电池电压升至手机充电电压 LDO线性电源为单片机提供稳定3 3V电源 这篇文章主要来介绍BUCK降压拓扑和锂电池充电电路设计 在说明锂电
  • 【CSS】Less/sass(css预处理器)

    Less sass css预处理器 作用 1 嵌套2 变量3 传参4 计算 可以嵌套标签属性设置 如在less中写 css文件中可以生成 css中变量写为 格式较为繁琐 在less中可以写作 操作较为简单 而且less支持加减乘除的计算 这
  • linux gcc __attribute__

    attribute 1 函数属性 1 1 attribute noreturn 1 2 attribute format 1 3 attribute const 2 变量属性 2 1 attribute aligned 2 2 attrib
  • Windows7+WDK+VS2010+VisualDDK驱动开发环境搭建(菜鸟的经验)

    自己在研究驱动开发 第一步就是开发环境的搭建 网上已有很多的教程一 我也是按着教程一步一步搭建的 但在搭建过程的过程当中遇到一些问题 也花了我不少时间 第一个难题就是 我是Windows7 VS2010 WDK的开发环境 首先我参考了网上的