使用EasySYS搭建驱动开发基本框架
提供EasySYS的下载地址:http://bbs.pediy.com/showthread.php?p=956643,看雪上有提供下载,自行百度。
EasySYS你能够帮我们快速的搭建驱动的开发框架,省去了我们写基本框架代码的时间,但是我个人不太喜欢用它来搭建驱动开发框架,感觉里面的代码风格不喜欢,不少代码得删去。
在使用EasySYS之前,一定要确保你的系统安装了微软驱动开发包DDK或者新版的WDK,没有安装的自行下载安装。
EasySYS的使用界面:
注:所使用的开发包,最终还是有编译IDE的命令行参数决定的。
根据自己的驱动开发需求,在EasySYS的界面上设置好各选项,然后点击右下角的Create按钮,生成驱动工程,我这里是HelloDDK,如图:
驱动工程创建成功以后,会出现下图:
EasySYS的界面上,我设置的是驱动编码IDE是VC6.0,因此将工程加载到VC6.0中打开,如图:
用VC6.0打开驱动工程HelloDDK以后,点击编译,VC6.0编译器却很实在的提示一个错误,现在让我们来看看错误的提示:
注:为了便于截图,我将提示的错误信息拷贝到Editplus中查看。
根据前面的EasySYS的界面选项的设置,我们要编译生成的驱动的类型为XP的X86平台.因此这里我们可以选择的有两个:
-WXP | XP | x86 | %WXPBASE% | -XP
或者
-WLHXP | XP | x86 | %WLHBASE% |
这两个运行的平台,选择一个就可以。
再看提示错误信息给出的使用的例子,可以知道:要正确使用的EasySYS编译驱动程序,还需要设置一个DDK或WDK环境变量。
笔者我使用的是DDK开发包,因此,我可以设置环境变量:
WXPBASE = 我的DDK的安装目录
或者
WLHBASE = 我的DDK的安装目录
如果你选择的是-WXP | XP | x86 | %WXPBASE% | -XP
那么你设置的环境变量就是WXPBASE
%WXPBASE% - Set this up for
"-WXP","-WXP64", "-WXP2K" builds
如果你选择的是-WLHXP | XP | x86 | %WLHBASE% |
那么你设置的环境变量就是WLHBASE
%WLHBASE% - Set this up for
"-WLH*"builds
现在我们开始设置环境变量,如图:
笔者比较贪心,一次设置了两个环境变量,并且两个环境变量都指向同一个DDK的目录,其实选择WXPBASE或WLHBASE中一个设置环境变量就可以,不过我还是比较推荐设置两个环境变量。
选择Project—>Settting出现上面的对话框,我们重点要关注的是Build commandline下面的编译命令行参数,要想编译驱动工程成功,必须修改编译命令行:
1.当选择的编译平台为:
-WXP |XP | x86 | %WXPBASE% | -XP,则修改命令行为:-WXP
编译成功,生成的是objchk_wnet_x86的驱动
2.当选择的编译平台为:
-WLHXP | XP | x86 | %WLHBASE% |,则修改命令行为:-WLHXP
编译成功,生成的是objchk_wxp_x86的驱动
由于我设置了两个环境变量,并且两个环境变量的值也一样,因此,我选择-WXP或者-WLHXP编译参数都可以,当然读者你要根据自己的环境变量的设置来选择编译的命令行参数。
OK,现在可以开始驱动的开发之旅了。
使用EasySYS搭建驱动开发基本框架的更多相关文章
- VS2017搭建驱动开发环境WDK
先安装VS2017,然后在安装WDK,WDK会自动关联到VS2017中,不用你任何操作,自动在新建项目中可以找到驱动开发. 如果以上安装完成后,在VS2017中新建项目中没有发现WDK,那么需要进行修 ...
- VS2010 + WinDDK 搭建驱动开发环境(转)
因工作需要,需要研究一下Windows驱动开发.我们知道,编译驱动程序主要是通过两种方案:第一种是通过WinDDK提供的build命令+source文件进行编译:另外一种是通过VC的IDE进行编译. ...
- 简单搭建iOS开发项目框架
今天我们来谈谈如何搭建框架,框架需要做一些什么. 第一步:找到我们的目标我们的目标是让其他开发人员拿到手后即可写页面,不再需要考虑其他的问题. 第二步:我们需要做哪些东西各位跟着我一步一步来进行. 假 ...
- Linux设备驱动开发环境的搭建(转)
经过两周的摸索,终于对Linux设备驱动开发有了个初步的认识,下面对Linux设备驱动开发环境的搭建做个小结,以方便自己以后查询,同时也能给同道的初学者一点帮助. 刚接触Linux设备驱动时,初学者往 ...
- 驱动开发 - WDK 调试及 SVN 环境搭建
由于从公司辞职了,所以以前在公司里搭建的驱动开发环境也就 Game Over 了, 同样由于那环境是很久以前搭建的,自己也有很多记不清楚的地方了, 而且其中还是有很多需要注意的地方的,所以在这里顺便做 ...
- Unix/Linux环境C编程新手教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建
1. openSUSE是一款优秀的linux. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRjYXN0Y3Bw/font/5a6L5L2T/font ...
- Android 系统移植与驱动开发--第二章搭建Android环境核心步骤及心得
第二章 搭建Android 开发环境 虽然在这一章中讲的是Android底层开发环境,但是相应伴随的还有Android NDK程序来测试Linux驱动,HAL程序库.底层开发不仅需要交叉编译环境,还要 ...
- Unix/Linux环境C编程入门教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建
1. openSUSE是一款优秀的linux. 2.选择默认虚拟机 3.选择稍后安装操作系统 4.选择linux opensuse 5. 选择默认虚拟机名称 6.设置处理器为双核. 7.内存设置为2 ...
- s3c6410 Linux 驱动开发环境搭建
s3c6410 Linux 驱动开发环境搭建 -- 既然你是做Linux开发的,你还用虚拟机? 非常多人都在win下做开发,于是SD_writer.exe之类的烧写工具"大行其道" ...
随机推荐
- const成员函数可以将非const指针作为返回值吗?
先给出一段代码 class A { int *x; public: int *f() const { return x; } }; 成员函数f返回指向私有成员 x 的非常量指针,我认为这会修改成员x ...
- 剑指 Offer 67. 把字符串转换成整数 + 字符串
剑指 Offer 67. 把字符串转换成整数 Offer_67 题目描述 题解分析 java代码 package com.walegarrett.offer; /** * @Author WaleGa ...
- 2020年12月-第02阶段-前端基础-CSS Day04
1. 浮动(float) 记忆 能够说出 CSS 的布局的三种机制 理解 能够说出普通流在布局中的特点 能够说出我们为什么用浮动 能够说出我们为什么要清除浮动 应用 能够利用浮动完成导航栏案例 能够清 ...
- Kilo 使用教程
写了这么多篇 WireGuard 相关的保姆教程,今天终于牵扯到 Kubernetes 了,不然怎么对得起"云原生"这三个字.如果看到这篇文章的你仍然是个 WireGuard 新手 ...
- 锐捷RG-UAC统一上网行为管理审计系统账号密码泄露漏洞 CNVD-2021-14536
一:产品介绍: 锐捷 RG-UAC 统一上网行为管理审计系统 锐捷统一上网行为管理与审计RG-UAC系列是星网锐捷网络有限公司自主研发的上网行为管理与审计产品,以路由.透明.旁路或混合模式部署在网络的 ...
- beego 框架用的页面样式模板
https://themequarry.com/category/free 页面样式
- Cai Xukun and Orz Pandas Gym - 102309C
题目链接:https://vjudge.net/problem/Gym-102309C 题意:给定蔡徐坤投篮的位置和篮筐的位置以及最大初速度,求一个初速度和时间. 思路:一开始我以为要用到二分,后面仔 ...
- mongodb安装及常见命令操作
Mongodb是一个介于关系数据库和非关系数据库之间的产品(Nosql),是非关系数据库当中功能最丰富,最像关系数据库的,语法有点类似javascript面向对象的查询语言,它是一个面向集合的,模式自 ...
- 8、MyBatis之使用注解开发
9.使用注解开发 mybatis最初配置信息是基于 XML ,映射语句(SQL)也是定义在 XML 中的.而到MyBatis 3提供了新的基于注解的配置.不幸的是,Java 注解的的表达力和灵活性十分 ...
- .Net5下WebRequest、WebClient、HttpClient是否还存在使用争议?
WebRequest.WebClient.HttpClient 是C#中常用的三个Http请求的类,时不时也会有人发表对这三个类使用场景的总结,本人是HttpClient 一把梭,也没太关注它们的内部 ...