提供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的目录,其实选择WXPBASEWLHBASE中一个设置环境变量就可以,不过我还是比较推荐设置两个环境变量。

选择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搭建驱动开发基本框架的更多相关文章

  1. VS2017搭建驱动开发环境WDK

    先安装VS2017,然后在安装WDK,WDK会自动关联到VS2017中,不用你任何操作,自动在新建项目中可以找到驱动开发. 如果以上安装完成后,在VS2017中新建项目中没有发现WDK,那么需要进行修 ...

  2. VS2010 + WinDDK 搭建驱动开发环境(转)

    因工作需要,需要研究一下Windows驱动开发.我们知道,编译驱动程序主要是通过两种方案:第一种是通过WinDDK提供的build命令+source文件进行编译:另外一种是通过VC的IDE进行编译. ...

  3. 简单搭建iOS开发项目框架

    今天我们来谈谈如何搭建框架,框架需要做一些什么. 第一步:找到我们的目标我们的目标是让其他开发人员拿到手后即可写页面,不再需要考虑其他的问题. 第二步:我们需要做哪些东西各位跟着我一步一步来进行. 假 ...

  4. Linux设备驱动开发环境的搭建(转)

    经过两周的摸索,终于对Linux设备驱动开发有了个初步的认识,下面对Linux设备驱动开发环境的搭建做个小结,以方便自己以后查询,同时也能给同道的初学者一点帮助. 刚接触Linux设备驱动时,初学者往 ...

  5. 驱动开发 - WDK 调试及 SVN 环境搭建

    由于从公司辞职了,所以以前在公司里搭建的驱动开发环境也就 Game Over 了, 同样由于那环境是很久以前搭建的,自己也有很多记不清楚的地方了, 而且其中还是有很多需要注意的地方的,所以在这里顺便做 ...

  6. Unix/Linux环境C编程新手教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

    1. openSUSE是一款优秀的linux. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRjYXN0Y3Bw/font/5a6L5L2T/font ...

  7. Android 系统移植与驱动开发--第二章搭建Android环境核心步骤及心得

    第二章 搭建Android 开发环境 虽然在这一章中讲的是Android底层开发环境,但是相应伴随的还有Android NDK程序来测试Linux驱动,HAL程序库.底层开发不仅需要交叉编译环境,还要 ...

  8. Unix/Linux环境C编程入门教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

    1. openSUSE是一款优秀的linux. 2.选择默认虚拟机 3.选择稍后安装操作系统 4.选择linux  opensuse 5. 选择默认虚拟机名称 6.设置处理器为双核. 7.内存设置为2 ...

  9. s3c6410 Linux 驱动开发环境搭建

    s3c6410 Linux 驱动开发环境搭建 -- 既然你是做Linux开发的,你还用虚拟机? 非常多人都在win下做开发,于是SD_writer.exe之类的烧写工具"大行其道" ...

随机推荐

  1. CCF(JSON查询:40分):字符串+模拟

    JSON查询 201709-3 纯字符串模拟,考的就是耐心和细心.可惜这两样我都缺... #include<iostream> #include<cstdio> #includ ...

  2. 谈一谈C#的事件

    谈一谈C#的事件 C#中事件基于委托,要理解事件要先理解委托,如果觉得自己关于委托不是很了解可以看看我前面写委托的文章 事件基于委托,是一种功能受限的委托,为委托提供了一种发布/订阅机制 使用委托时, ...

  3. MongoDB -> kafka 高性能实时同步(sync 采集)mongodb数据到kafka解决方案

    写这篇博客的目的 让更多的人了解 阿里开源的MongoShake可以很好满足mongodb到kafka高性能高可用实时同步需求(项目地址:https://github.com/alibaba/Mong ...

  4. Python字典与集合

    一 字典创建.访问.添加.删除.修改.内建函数.内建方法 创建,列表不能作为键,因为键不能变?字典也不能作为键 dict1 = {} dict2 = {'name':'qq','sex':'male' ...

  5. javascript 之对象-13

    对象 无序属性的集合,属性可以包含基本值.对象或者函数,简单理解为对象是若干属性的集合:我们常说的面向对象(oop)编程其实是指的一种编码的思想,简单理解为用对象来封装数据,利用封装.继承.多态对代码 ...

  6. 利用flex解决input定位的问题

    用简单的布局搞定input框使用fixed下输入的问题 最近在做移动端H5聊天应用发现,当input框在最底部并且使用 position:fixed 属性的时候在苹果手机中会出现不兼容的情况 ​

  7. 使用 Android Studio 的日志工具 Log

    •Log简介 Android中的日志工具类是Log,这个类中提供了5个方法来供我们打印日志: 1. $Log.v()$ 用于打印那些最为琐碎的,意义最小的日志信息 对应级别 verbose,是 And ...

  8. webpack核心模块tapable源码解析

    上一篇文章我写了tapable的基本用法,我们知道他是一个增强版版的发布订阅模式,本文想来学习下他的源码.tapable的源码我读了一下,发现他的抽象程度比较高,直接扎进去反而会让人云里雾里的,所以本 ...

  9. Linux标准输入、重定向与参数传递

    Linux标准输入.重定向与参数传递 按惯例,每当运行一个新程序时,所有shell都为其打开3个文件描述符,即标准输入.标准输出以及标准错误.如果不做特殊处理,例如就像简单的命令ls,则这三个描述符都 ...

  10. java面试-公平锁/非公平锁/可重入锁/递归锁/自旋锁谈谈你的理解

    一.公平锁/非公平锁/可重入锁/递归锁/自旋锁谈谈你的理解 公平锁:多个线程按照申请的顺序来获取锁. 非公平锁:多个线程获取锁的先后顺序与申请锁的顺序无关.[ReentrantLock 默认非公平.s ...