使用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之类的烧写工具"大行其道" ...
随机推荐
- Python切换版本工具pyenv
目录 安装pyenv 安装与查看py版本 切换py版本 结合ide使用示例 和virtualenv的一些区别 参考文献 使用了一段时间,我发现这玩意根本不是什么神器,简直就是垃圾,安装多版本总是失败, ...
- android分析之消息处理
前序:每个APP对应一个进程,该进程内有一个ActivityThread的线程,称为主线程(即UI主线程),此外,还有其他线程,这个再论. android的消息系统分析. 每个Thread只对应一个L ...
- MySQL入门(4)——操作数据表
MySQL入门(4)--操作数据表 创建数据库 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 数据库名 [(create_definition,...)] [tab ...
- 在 .NET Core 中构建 REST API
翻译自 Camilo Reyes 2020年8月26日的文章 <Build a REST API in .NET Core> [1] REST API 可以使用简单的动词(如 POST.P ...
- 分子量(JAVA语言)
package 第三章习题; /* * 给出一种物质的分子式(不带括号)求分子量. * 本题分子只包含4种原子,分别为C,H,O,N * 分子量为分别为12.01,1.008,16.00,14 ...
- 利用matplotlib和cmaps根据已有的colormap,重新定义colormap
算法网上这哥们总结的还可以[1] ,但是使用matplotlib自定义colormap自己掌握的还不够,写在这里 希望达到的目标 使用什么样的颜色,可以自己定义 方便的调用其他人的色标, 使用一部分c ...
- c++反汇编 switch
switch 线性处理 24: int nIndex = 0; 01377EBE C7 45 F8 00 00 00 00 mov dword ptr [nIndex],0 25: scanf(&qu ...
- 从本质彻底精通Git——4个模型1个周期1个史观1个工作流
一.什么是Git? Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是Linus Torvalds为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软 ...
- 【linux】系统编程-8-Socket
目录 前言 11. 套接字 11.1 Socket简介 11.2 socket() 11.3 bind() 11.4 connect() 11.5 listen() 11.6 accept() 11. ...
- 20182217刘洪宇EXP3_免杀原理
免杀 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. 要做好免杀,就时清楚杀毒软件(恶意软件检测工具)是如何工作的.AV(Anti-virus)是很大一个产业.其中主 ...