使用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之类的烧写工具"大行其道" ...
随机推荐
- C++共享数据保护机制
下面随笔说明C++共享数据保护机制. 共享数据的保护 对于既需要共享.又需要防止改变的数据应该声明为常类型(用const进行修饰). 对于不改变对象状态的成员函数应该声明为常函数. (1)常类型 ①常 ...
- 5G时代,为什么NoSQL和SQL存在短板?
01 介绍 当今的通信服务提供商(CSP)需要能够在处理海量复杂的数据的同时,不会下降或者减慢网路响应速度和可靠性.5G时代,设备和用户数量呈指数级增长,这对业务支持服务(BSS)提出了新需求,也成为 ...
- 【转载】Java虚拟机类加载机制与案例分析
出处:https://blog.csdn.net/u013256816/article/details/50829596 https://blog.csdn.net/u013256816/articl ...
- GET跟POST的区别
GET.POST的区别: 一.GET在浏览器后退时候,可以还原表单大部分数据,POST当浏览器后退时,表单数据将会丢失 二.GET产生的 URL 请求地址可以 Bookmark,而POST不可以 三. ...
- dk.exe自动填报程序的反编译
dk.exe自动填报程序的反编译 dk.exe用于学校每日健康报的自动填写.
- String 类的内存 解析
关于String类的内存解析 Person类的内存解析
- Codeforces Round #557 B. Double Matrix
题面: 传送门 题目描述: 给出两个n*m的矩阵,问:是否能通过交换两个矩阵"对应"位置的元素,使两个矩阵都为"递增"矩阵. "递增"矩阵定 ...
- ImportError: No module named site
cmd中执行python提示:ImportError: No module named site 运行python.exe Fatal Python error: initfsencoding: un ...
- [题解] [NOI Online 2021 入门组 T3] 重力球
题目大意 在一个 \(n\times n\) 的矩形中,题目会给出 \(m\) 个障碍物.有两个小球,你可以选定四个方向(上下左右)的其中一个,小球会朝着这四个方向一直滚动,直到遇到障碍物或是矩形的边 ...
- 全面了解Vue3的 reactive 和相关函数
Vue3的 reactive 怎么用,原理是什么,官网上和reactive相关的那些函数又都是做什么用处的?这里会一一解答. ES6的Proxy Proxy 是 ES6 提供的一个可以拦截对象基础操作 ...