WIN10 驱动开发环境从0搭建 (驱动开发必看)

文章目录

  • 前言
  • 一、VS2019下载安装
  • 二、下载WDK
  • 三、安装WDK
    • 1、下载离线版
    • 2、安装
  • 四、项目配置
    • 1、创建新项目
    • 2、driver.c
    • 3、配置
    • 4、报错
      • 1.第一次报错:
      • 2.第二次报错:
  • 五、VMware下载安装
  • 六、虚拟机设置
    • 1、移除打印机
    • 2、 添加串口
    • 3、 串口设置
    • 4、 系统引导
    • 5、设置测试模式
  • 七、VS2019设置
  • 八、双机调试


前言

本文记录如何配置一个可使用的驱动开发环境
WIN10 驱动开发环境从0搭建 (驱动开发必看)_第1张图片


一、VS2019下载安装

  1. 已经安装过的选择修改,未安装过的选择下载、安装。
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第2张图片

  2. 工作负荷选择“使用C++的桌面开发
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第3张图片

  3. 在单个组件中添加缓解库选项,生成工具自动添加,我选择v14.28-16.9的版本
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第4张图片

  4. 下载并安装

二、下载WDK

  1. 添加/删除程序,搜索“windows”,查看当前SDK版本号
  2. VS版本适配
    WDK官方下载地址WIN10 驱动开发环境从0搭建 (驱动开发必看)_第5张图片
  3. 下载相应版本的WDK
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第6张图片
    箭头是我下载的版本

三、安装WDK

1、下载离线版

  1. 注意看版本是不是与第二章所说当前SDK版本号匹配
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第7张图片

2、安装

  1. 下载完会自动弹窗,继续安装就行
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第8张图片

  2. 安装数字签名
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第9张图片

  3. 安装完成
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第10张图片

  4. WDK & SDK版本同步

  • 在单个组件里面查看版本,一致即可。
  • 不一致的需要卸载旧版本SDK,安装对应的SDK
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第11张图片

四、项目配置

1、创建新项目

WIN10 驱动开发环境从0搭建 (驱动开发必看)_第12张图片

2、driver.c

添加.c文件:

// driver.c
#include 

void DriverUnload(PDRIVER_OBJECT pDriverObject);

NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegPath)
{
	DbgPrint("[MyDriver] DriverEntry\n");
	NTSTATUS status = STATUS_SUCCESS;
	pDriverObject->DriverUnload = DriverUnload;
	
	return status;
}

void DriverUnload(PDRIVER_OBJECT pDriverObject)
{
	DbgPrint("[MyDriver] DriverUnload\n");

	return;
}

编译前移除VS中的inf文件,否则会有:
在这里插入图片描述

3、配置

  1. 警告等级&警告错误
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第13张图片

  2. 链接器
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第14张图片

  3. Driver Signing
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第15张图片

4、报错

1.第一次报错:

缓解库问题
解决:
查看当前的MSVC版本,提示最新
WIN10 驱动开发环境从0搭建 (驱动开发必看)_第16张图片
在单个组件搜索最新,安装相应的缓解库
WIN10 驱动开发环境从0搭建 (驱动开发必看)_第17张图片

2.第二次报错:

此时已经生成sys文件
在这里插入图片描述
WIN10 驱动开发环境从0搭建 (驱动开发必看)_第18张图片

Please select a valid target machine for deployment from the project property page
//请从项目属性页中选择有效的目标计算机进行部署

此时需要使用虚拟机

五、VMware下载安装

VMware虚拟机操作系统安装(手把手教学)

六、虚拟机设置

1、移除打印机

2、 添加串口

WIN10 驱动开发环境从0搭建 (驱动开发必看)_第19张图片

3、 串口设置

命名的管道:\.pipe\com_1
WIN10 驱动开发环境从0搭建 (驱动开发必看)_第20张图片

4、 系统引导

  • Win+R打开系统配置
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第21张图片
  • 进入高级设置
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第22张图片
  • 设置如图
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第23张图片

5、设置测试模式

WIN10 驱动开发环境从0搭建 (驱动开发必看)_第24张图片

  • 复制该文件到虚拟机
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第25张图片
    输入以下命令:
bcdedit /set testsigning on
bcdedit /Debug on  //开启测试模式。
bcdedit /dbgsettings //查看设置情况

WIN10 驱动开发环境从0搭建 (驱动开发必看)_第26张图片
如果不一致的,请检查配置环境后是否重启过虚拟机。

七、VS2019设置

  1. 打开扩展->Driver->Test->Configure Devices

  2. 按图添加,保持两者命名一样

  3. 设置

  4. WIN10 驱动开发环境从0搭建 (驱动开发必看)_第27张图片

  5. 此时网络状态可用
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第28张图片

八、双机调试

  1. 设置完以上所有,重启虚拟机,登录账户显示如下证明配置没有问题:
    配置顺序很重要,本人配置较长时间
  2. 在VS中“调试” ,“附加到进程”
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第29张图片
  3. 此时管道已打开,等待重连
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第30张图片
  4. “所有设置”——>“更新和安全”——>“恢复”——>“立即重新启动”——>“疑难解惑”——>“高级选项”——>“启动设置”——>“重启”,重启后根据提示按“F7”,禁用驱动程序强制签名。
  5. 重启后的窗口显示如下:
    WIN10 驱动开发环境从0搭建 (驱动开发必看)_第31张图片
  6. 在VS2019,点“调试”,“全部中断”,显示如下界面:
  7. 设置断点

    特殊情况:Debug窗口提示超时:A timeout occurred. The timeout can be increased in the Debugging options page,重启VS2019,重新附加到进程,等待一段时间,虚拟机可以正常使用
  8. 虚拟机可以正常操作的时候,拷贝主机生成的sys文件,
    在这里插入图片描述

你可能感兴趣的:(入职,C++,c++)