WINDOWS XP下驱动开发环境设置(DDK+VC6.0)
通常驱动程序的调试都是用ddk在cmd中完成的。这部分我暂时略过。下面先介绍如何设置vc++6.0在Visual Studio 6.0集成环境中开发设备驱动程序的方法。
在Windows上,Windows DDK提供的开发环境是基于命令行的,操作起来极为不便,而Visual Studio 6.0给我们提供了非常友好易用的集成环境,让我们有如虎添翼之感。
那么,能否利用Visual Studio的集成环境来开发驱动程序呢?答案是可以的。通过对Visual Studio集成环境的简单设置,创建好自己的驱动开发集成环境就可以了。
1,
第一:安装Vc++6.0,我装的是英文版,中文版应该也可以,不过我没试。
第二:安装winXP DDK,注意,安装目录中间不能有空格,比如D:\Program Files不行,
我直接装在了D盘,装完后设置环境变量DDKROOT为安装目录D:\WINDDK\2505。
2,创建一个目录,作为开发目录,我是利用<<PCI设备开发宝典>>的光盘中的工程文件PCI9052Demo,直接考到E盘,所以,工作目录下是E:\PCI9052Demo
3,工作目录下创建一个批处理文件MakeDrvr.bat,内容如下:
@echo off
if “%1""" goto usage
if "%3"”" goto usage
if not exist %1\bin\setenv.bat goto usage
call %1\bin\setenv %1 %4
%2
cd %3
build -b -w %5 %6 %7 %8 %9
goto exit
:usage
echo usage MakeDrvr DDK_dir Driver_Drive Driver_Dir free/checked [build_options]
echo eg MakeDrvr %%DDKROOT%% F: %%WDMWorkshop%% free -cef
:exit
解释以下:
1% 是DDK_dir,也就是ddk的安装目录
2% 是Driver_Drive,是你工作目录所在的盘符,这里是E:
3% 是Driver_Dir,是你工作目录的路径,这里是E:\PCI9052Demo
4% 是编译模式,checked表示调试模式,free表示发行模式,这里是出问题的地方,后面再说。
该批处理首先对传递的参数作一些检查,然后调用ddk的setenv命令设置环境变量,然后改变目录为源程序所在驱动器和目录,并最后调用build,-b保证显示完全的错误信息,-w保证在屏幕上输出警告,在vc ide里的output窗口中可以看到这些错误和警告。
4,建立一个空白工程
选File的new菜单项,然后选project栏的makefile,然后输入路径,一路next下去即可,visual studio提供两种配置win32 debug和win32 release. 按照cant的《windows wdm 设备驱动程序开发指南》方法,可以删除掉,添加Win32 Checked和 Win32 Free
5,VC的Project->settings里面改变设置
修改这两种配置
Free
build command line:
e:\PCI9052Demo\MakeDrvr %DDKROOT% e: e:\PCI9052Demo free
rebuild all opinions:
-nmake /a
output filename:
PCI9052Demo.sys
browse info file name:
objfre\i386\PCI9052Demo.bsc
=============================================================
Checked
build command line:
e:\PCI9052Demo\MakeDrvr %DDKROOT% e: e:\PCI9052Demo checked
rebuild all opinions:
-nmake /a
output filename:
PCI9052Demo.sys
browse info file name:
objfre\i386\PCI9052Demo.bsc
6.添加源文件到工程
可以新建,也可以添加,这和普通的win32开发一样。
7.添加资源文件
选INSERT的RESOURCE菜单项即可
8.把文件makefile放入源程序目录,其内容总是
DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
file to this component. This file merely indirects to the real make file
that is shared by all the driver components of the Windows NT DDK
!INCLUDE $(NTMAKEENV)\makefile.def
9.把文件Sources放入源程序目录,内容为
TARGETNAME=RamDrive//这是要生成的驱动程序.sys文件的名字
TARGETPATH=obj //.sys文件所在目录的上层目录,(由于ddk的bug)应手工在obj目录下创建checked和free目录,以作为.sys的最终存放目录
TARGETTYPE=DRIVER //驱动程序的类型,一般不变
INCLUDES=$(BASEDIR)\inc //ddk包含文件路径,一般不变
SOURCES=RamDrive.cpp RamDrive.rc //源文件(不要头文件),资源文件
BROWSER_INFO = 1 //若想要浏览信息,则要有本行;否则可无
这样设置完之后,按编译会出现错误的,错误如下:
usage: setenv [fre|chk] [64] [hal]
Example: setenv d:\ddk chk set checked environment
Example: setenv d:\ddk set free environment (default)
Example: setenv d:\ddk fre 64 sets 64 bit free environment
Example: setenv d:\ddk hal sets free hal environment
Example: setenv d:\ddk fre hal Same
‘build’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。
PCI9052Demo.sys - 0 error(s), 0 warning(s)
问题出在什么地方呢?关键在于XP的DDK的编译模式已经不再是free和checked了,而是上面的fre和chk,另外还加了fre 64,hal, fre hal。
解决办法就是:VC的Project->settings里面设置的编译模式改成fre和chk,然后,输出就正常了,
--------------------Configuration: PCI9052Demo - Win32 fre--------------------
BUILD: Object root set to: ==> objfre
BUILD: Adding /Y to COPYCMD so xcopy ops won’t hang.
BUILD: /i switch ignored
BUILD: Compile and Link for i386
BUILD: Loading D:\WINDDK\2505\build.dat…
BUILD: Computing Include file dependencies:
BUILD: e:\pci9052demo\sources. unexpected in directory with DIRS file
BUILD: Ignoring e:\pci9052demo\sources.
BUILD: pci9052demo found in dirs., is not a subdirectory of e:\pci9052demo
BUILD: Examining e:\pci9052demo directory tree for files to compile.
e:\pci9052demo
BUILD: Linking e:\pci9052demo directory
BUILD: Done
PCI9052Demo.sys - 0 error(s), 0 warning(s)
WINDOWS XP下驱动开发环境设置(DDK+VC6.0)相关推荐
- 搭建Win XP下iPhone开发环境
这篇文章将告诉你怎样在Windows XP SP2操作系统上搭建iPhone 2.x开发环境. 在开始之前,请先准备好 7zip 纳米机器人 RaySource 文章中的资源提供了纳米盘(需要纳米机器 ...
- Windows 7 下 QT5 开发环境搭建
Windows7 下 QT 开发环境常见搭配方法有两种. 第一种是:QT Creator+QT SDK: 第二种是:VS+qt-vs-addin+QT SDK: 以上两种均可,所需文件见 QT 社区, ...
- 如何正确入门Windows系统下驱动开发领域?
[作者] 猪头三 作者网站: http://www.x86asm.com 原文链接: http://blog.csdn.net/Code_GodFather/...0/5975901.aspx [贡献 ...
- Windows 10下Linux开发环境搭建
摘要:本文说明在Windows10环境下搭建Linux开发环境的步骤.无需安装特定的虚拟机环境,只需要在Windows环境下通过应用商店安装基于WSL的Ubuntu系统即可.并且通过VSCode安装W ...
- Java windows系统下JDK开发环境配置和环境变量配置
一.JDK下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 二.Ecli ...
- c语言 vc++6.0集成开发环境的使用,VC6.0集成开发环境的使用.ppt
<VC6.0集成开发环境的使用.ppt>由会员分享,可在线阅读,更多相关<VC6.0集成开发环境的使用.ppt(11页珍藏版)>请在人人文库网上搜索. 1.VC6.0集成开发环 ...
- Windows XP下,JDK环境变量配置
2019独角兽企业重金招聘Python工程师标准>>> 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08: 2.安装完 ...
- 关于windows XP下北洋BTP-2200E打印设置问题
(1)操作使用手册:http://www.chongshang.com.cn/manual/m_BTP2200E.shtml (2)驱动安装:http://www.chongshang.com.cn/ ...
- Windows系统下Java开发环境搭建
卸载JDK 1.删除Java的安装目录(通过右键点击我的电脑->属性->高级系统设置->环境变量->系统变量中的JAVA_HOME找到Java的安装目录) 2.删除JAVA_H ...
- windows 7 下 .net 开发环境的搭建
第一步,安装IIS和.net Framework 进入"控制面板\程序\程序和功能" 点击"打开或者关闭windows功能" 勾选"Microsot ...
最新文章
- 哪个更快:Java 堆还是本地内存
- 有道云笔记导入到CSDN博客
- Establishing SSL connection without server's identity verification is not recommended.
- 【CodeForces - 501C】Misha and Forest (思维构造,树,数学异或)
- Python循环完成剪刀石头布游戏
- 帆软 JS给填报控件(单元格)赋值 包含扩展单元格赋值
- gbase里的分布表与复制表
- SQL 随机抽取样本
- 圆的面积函数定义及调用
- C语言实现一元二次方程的实根和复根
- 代码还是要亲自动手写才行啊
- Elasticsearch 7.2.0 搜索时报 all shards failed 错误
- 知乎广告效果怎么样?有哪些优势呢?
- 星起航跨境—亚马逊发展现状及未来趋势分析
- Java中使用MultipartFile类型接收前端上传的文件过大报异常解决
- Linux系列讲解 —— SSH登录
- 如何将ppt转换为jpg图片
- anasys hpc集群_ANSYS HPC高性能计算与Wiseteam高端图形工作站方案
- bbpress 添加 featured image
- Windows上如何手动安装Perl模块(ActivePerl)
热门文章
- 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...
- 基于STM32的录音与播音
- robocode机器人案例
- SQL注入-盲注(布尔盲注与时间盲注)
- 网络图结构中节点度分布的散点图
- mysql正则mybatis中用法_SQL正则表达式及mybatis中使用正则表达式
- KL散度 JS散度 熵
- python opencv 二值化 计算白色像素点并计算比例输出可视化
- 雷达多普勒频率计算公式_现代战争的千里眼,顺风耳——雷达
- 数字频率系数测试软件,sia smaartlive7