windows驱动开发和调试环境搭建
- 格式:doc
- 大小:592.50 KB
- 文档页数:10
Window CE6.0开发平台搭建详解2011年08月29日Windows CE6.0的开发无非两大方面:操作系统开发和应用程序开发,操作系统开发包括系统的定制,驱动开发和其他需要完成的底层工作。
应用程序开发主要是与实际应用结合紧密的程序开发。
要搭建这样的开发环境,至少要包括两部分,一个是硬件平台,一个是软件平台,在Windows CE6.0的开发中,微软公司把这些开发软件集成到了vs2005中。
Windows CE6.0开发环境需要安装的软件比较多、比较大,至少要10GB的空间,而且有着严格的安装顺序要求,一旦其中某一个环节出错,都会导致软件运行出现故障,为确保安装顺利,请仔细阅读本文,按照步骤一步一步进行安装。
一、所需安装软件1、Visual Studio 20052、Visual Studio 2005 Service Pack 13、MSDN4、platform builder for Windows Embedded CE6.05、Windows Embedded CE 6.0 Platform Builder Service Pack 16、Windows mobile 6的sdk二、所用磁盘空间在安装之前,请检查电脑的磁盘空间,VS2005和Windows Embedded CE6.0均是比较大的软件,要占硬盘好10G多的空间,建议不要装在C盘,但是我装Windows Embedded CE6.0的时候,发现不能更改安装路径,没办法,只能把Windows Embedded CE6.0装在C盘。
三、安装顺序1.安装Visual Studio 2005最好选择自定义安装方式,把不用的一些组件都删掉,这样会节省不少的磁盘空间。
WINCE6.0的Platform Builder不像WINCE5.0是独立的,而是作为VS2005的插件,以后建立和定制OS、编译调试全部在VS2005里完成。
第一种方法:使用Qt SDk直接安装很省事。
和日常装的软件一样。
第二种:使用QT Creator和mingw安装先安装QTCreator如下:点击next选择I accept…,点击next点击next选择上述的,点击next。
默认路径,选择next。
点击Install,就安装了…安装界面如上图所示,按结束后,就可以了。
尽管上面我们已经安装了mingW,但Creator 没有qmake.exe和库文件,有的就是一些G++,C++解释器。
所以我们要安装另外一个mingw,这个包含了很多库文件,后续的编程我们要用的。
安装如下:安装4.7.4版本的mingW,点击next。
如上图,然后点击next。
选择I accept..,点击next。
点击next。
点击next。
点击next这一就不要直接点击Install了,因为C:\MinGW目录没有安装G++,如果点击Next就会有问题的。
点击红圈圈那里,选择如下图所示的路径。
如下图所示:然点击Install。
安装中。
这个安装有点久。
瞧:OK了。
打开creator查看工具->选项如下图所示:看看这里是否有了这个qmake这个东西,若没有自行添加添加qmake的方法如下:单击右边的添加,如下图:记住路径:QT/4.7.4/bin,版本不同,我这里用的版本是4.7.4的,所以路径是4.7.4,请根据具体情况设置。
设置环境变量:右击我的电脑->属性->高级系统设置->环境变量在系统变量里面添加:新建一个变量名:QTDIR 变量值:C:\Qt\4.7.4在Path/PATH 里面添加;C:\Qt\4.7.4; C:\Qt\4.7.4\bin; C:\Qt\qtcreator-2.4.1\mingw\bin; C:\Windows\System32 to PATH每个变量值之间用”;”隔开的。
在新建一个变量名:QMAKESPEC 变量值:win32-g++OK了,下面建立第一个工程,如下:名字可自定义哦,亲!点击下一步。
WINDOWS 7 配置驱动开发环境(wdk7.60)1. 安装VS2010,WDK7.60(GRMWDK_EN_7600_1)2. 新建VC 控制台项目(选择为空项目)3. 新建项目配置“driver” ,点击下拉按钮-点击(配置管理器)输入名称(Driver Debug)点击确定就可以了,其他的不要动哦!完成后的效果!点击确定按钮之后呈现出来的画面鼠标右击工程选择属性,会弹出以下窗口!4. 设置VC++路径<我把wdk安装在E盘下>a. 配置可执行文件目录:E:\WinDDK\7600.16385.1\bin\x86;b. 配置包含目录:E:\WinDDK\7600.16385.1\inc\ddkE:\WinDDK\7600.16385.1\inc\E:\WinDDK\7600.16385.1\inc\apic. 配置库目录: E:\WinDDK\7600.16385.1\lib\win7\i3865新建C/C++文件不然无C/C++设置选项<刚开始我们创建了一个空的项目所以项目里没有c++文件,现在要做的就是在空的项目-源文件-添加一个新建项c++文件>常规目标文件扩展名:.sys //必选6. 设置C/C++选项常规选项卡1 调试信息格式(C7 兼容(/Z7) //可选2 警告等级(2 级(/W2) //可选3 将警告视为错误(是(/wx) //可选优化选项卡优化(禁用/Od) //可选预处理器预处理器定义:WIN32=100;_X86_=1;WINVER=0x501;DBG=1 //必选如果是Release,那么可想而知,不需要DBG=1代码生成启用最小重新生成:否//可选基本运行时检查:默认值//可选运行时库:多线程调试(/MTd) 或多线程(/MT) //建议选<本人选择的是多线程调试(/MTd)>缓冲区安全检查:否//可选(可避免出现LINK : error LNK2001: 无法解析外部符号__security_cookie)高级调用约定__stdcall(/Gz) //必选7. 链接器设置常规启用增量链接:否(/INCREMENTAL:NO) //建议选上忽略导入库:是// 可选( 设置为此值时,必须在附加库目录中加:E:\WinDDK\7600.16385.1\lib\win7\i3865 这样项目就不会依赖IDE 环境的设置)如果否( 设置为此值时,将依赖IDE 的环境的相关设置)输入附加依赖项ntoskrnl.lib;Hal.lib;wdm.lib;wdmsec.lib;wmilib.lib;ndis.lib;MSVCRT.LIB;LIBCMT.LIB //必选//NT式驱动ntoskrnl.lib WDM式驱动wdm.lib( HalXXX 函数在Hal.lib,WmiXXX 函数在wmilib.lib ,NdisXXX函数在ndis.lib ) ( 必要时需要增加微软的标准库MSVCRT.LIB MSVCRTD.LIB(调试库) LIBCMT.LIBIBCMTD.LIB(调试库) )( 如果源码中有source 文件,那么该文件的TARGETLIBS 字段会列出该项目需要的库)忽略所有默认库:是(/NODEFAULTLIB) //必选清单文件:启用用户账户控制(UAC)否//必选不然会出现>LINK : fatal error LNK1295: “/MANIFESTUAC”与“/DRIVER”规范不兼容;链接时不使用“/MANIFESTUAC”调试:生成调试信息是(/DEBUG) //可选生成映像文件:是(/MAP) //可选映像文件名:$(TargetDir)$(TargetName).map //可选系统(System)子系统: 控制台(/SUBSYSTEM:CONSOLE) //必选堆栈保留大小:4194304 //可选堆栈提交大小:4096 //可选驱动程序: 驱动程序(/DRIVER) //必选高级:入口点:DriverEntry //必选随机基址:清空//把框里的数据删掉。
Windows驱动程序开发笔记一、WDK与DDK环境最新版的WDK 微软已经不提供下载了这里:https:/// 可以下并且这里有好多好东东!不要走进一个误区:下最新版的就好,虽然最新版是Windows Driver Kit (WDK) 7_0_0,支持windows7,vista 2003 xp等但是它的意思是指在windows7操作系统下安装能编写针对windows xp vista的驱动程序,但是不能在xp 2003环境下安装Windows Driver Kit (WDK) 7_0_0这个高版本,否则你在build的时候会有好多好多的问题.上文build指:首先安装好WDK/DDK,然后进入"开始"->"所有程序"->"Windows Driver Kits"->"WDK XXXX.XXXX.X" ->"Windows XP"->"x86 Checked Build Environment"在弹出来的命令行窗口中输入"Build",让它自动生成所需要的库如果你是要给xp下的开发环境还是老老实实的找针对xp的老版DDK吧,并且xp无WDK 版只有DDK版build自己的demo 有个常见问题: 'jvc' 不是内部或外部命令,也不是可运行的程序。
解决办法:去掉build路径中的空格。
二、下载 WDK 开发包的步骤1、访问Microsoft Connect Web site站点2、使用微软 Passport 账户登录站点3、登录进入之后,点击站点目录链接4、在左侧的类别列表中选择开发人员工具,在右侧打开的类别:开发人员工具目录中找到Windows Driver Kit (WDK) and Windows Driver Framework (WDF)并添加到您的控制面板中5、添加该项完毕后,选择您的控制面板,就可以看到新添加进来的项了。
内核驱动环境搭建方案兄弟,下面就是一个内核驱动环境搭建的超简单方案啦。
一、准备工作。
1. 硬件基础。
2. 操作系统选择。
3. 软件工具安装。
在Linux下,比如说Ubuntu,你得先把编译工具链装上。
这个就像厨师的锅碗瓢盆一样重要。
对于C语言编写的内核驱动,那GCC编译器是必须的。
你可以在终端里敲上“sudo apt get install gcc”,就这么简单,等它安装完就行。
还有,内核头文件也不能少。
在Ubuntu下,可以通过“sudo apt get install linux headers $(uname r)”来安装。
这个内核头文件就像是地图,告诉编译器内核里面的各种结构和函数是咋回事儿。
如果是在Windows下呢,你需要安装Visual Studio。
这是个大工程,安装的时候要有耐心。
而且,你得选择安装Windows驱动开发工具包(WDK),它就像是专门为Windows内核驱动开发打造的魔法盒,里面有各种工具和库。
二、创建开发环境。
1. Linux下的环境创建。
咱们可以创建一个专门的工作目录,就像你在地上画个圈,说这是我搞内核驱动开发的地盘。
在终端里敲“mkdir kernel driver dev”,然后“cd kernel driver dev”就进入这个目录了。
然后呢,你可以用文本编辑器来写你的内核驱动代码。
Vim或者Emacs都是大神们爱用的,不过如果你觉得它们有点难搞,像gedit这种简单的图形化文本编辑器也能胜任。
2. Windows下的环境创建。
在Visual Studio安装好并且WDK也安装好之后,打开Visual Studio。
就像打开一个装满宝藏的宝箱一样。
你可以创建一个新的项目,在项目模板里选择“Windows Driver”相关的模板。
然后呢,按照向导一步一步来,设置好项目的名称、保存路径之类的东西。
三、测试环境搭建。
1. Linux下的测试。
当你写好内核驱动代码之后,你需要把它编译成内核模块。
uefi开发例程摘要:一、UEFI 开发简介1.UEFI 的定义与作用2.UEFI 与BIOS 的区别二、UEFI 开发环境搭建1.硬件要求2.软件要求3.开发工具介绍三、UEFI 开发流程1.编写UEFI 驱动程序2.编写UEFI 应用程序3.调试与测试四、UEFI 开发例程1.UEFI 驱动程序例程2.UEFI 应用程序例程五、UEFI 开发常见问题及解决方法1.驱动程序编写问题2.应用程序编写问题3.调试与测试问题六、UEFI 开发前景与展望1.UEFI 在嵌入式领域的应用2.UEFI 的发展趋势正文:UEFI(Unified Extensible Firmware Interface,统一可扩展固件接口)是一种新型的固件接口,旨在取代传统的BIOS(Basic Input/Output System,基本输入输出系统)。
UEFI 具有更先进的架构和更多的功能,为开发者提供了更多的灵活性和可扩展性。
本文将介绍UEFI 开发的基本概念、环境搭建、开发流程、例程以及常见问题及解决方法。
一、UEFI 开发简介UEFI 是一种统一的可扩展固件接口,用于操作系统与硬件之间的通信。
UEFI 的出现解决了传统BIOS 的诸多限制,为开发者提供了更广阔的发挥空间。
UEFI 具有如下特点:1.基于x86 架构,向下兼容;2.支持大容量内存;3.支持多种设备接口;4.支持图形化界面;5.支持网络协议。
二、UEFI 开发环境搭建UEFI 开发环境需要满足一定的硬件和软件要求。
硬件方面,需要支持UEFI 启动的计算机;软件方面,需要安装UEFI 启动工具、UEFI 开发工具等。
具体要求如下:1.支持UEFI 启动的计算机:确保计算机主板支持UEFI 启动,并设置UEFI 启动顺序;2.UEFI 启动工具:例如,GRUB 或UEFI Shell 等;3.UEFI 开发工具:例如,UEFI 驱动程序开发工具、UEFI 应用程序开发工具等。
Windows 内核驱动调试环境搭建及调试步骤本文,系09年笔记记录整理,当时只有大概的步骤,最近又搭建环境,顺道比较详细的整理一下,以供自己备查。
较之前的笔记,只是DDK和VMWARE的版本增高了,基本步骤还是大差不差。
注意:如果是初次搭建环境,请大概浏览完全篇后,再参照本文搭建环境。
一、工具描述主机:XP sp3虚拟机:vmware9.0 +XP sp3WinDBGDDK:6.1.6001.18002.081017-1400_wdksp-WDK18002SP_EN_DVD.iso注:主机:hostOS虚拟机:guestOS代码系《windows驱动开发技术详解》二、具体步骤guestOS设置:添加串口:VM->settings->hardware->add选择 serial设置如下图所示:修改guestOS的boot.ini文件在文件最末行添加如下内容:multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Debug" /fastdetect /debugport=com2 /baudrate=115200 debugport=com2,要根据你虚拟出来的串口号来设置。
本人电脑里设置的是COM2,如上图所示。
注意:1、boot.ini 文件在C:根目录下,修改booti.in文件时,需要设置文件夹选项,详见下图的标注。
2、波特率进入系统(虚拟机),修改串口的波特率为115200,默认建立的时,波特率是9600。
电脑右键->属性->硬件->属性管理,在弹出的框框里找到COM2修改即可。
虚拟机(guestOS)上的配置基本完成。
hostOS配置:安装DDK版本:6.1.6001.18002.081017-1400_wdksp-WDK18002SP_EN_DVD.iso,在微软网站可以下载到。
vb 教程VB教程Visual Basic(VB)是一种事件驱动的编程语言,广泛用于开发Windows应用程序。
本教程将介绍VB的基础知识和常用技巧,帮助初学者快速入门。
1. VB简介VB是由微软公司开发的编程语言,它结合了基本的编程概念和直观的图形用户界面设计。
VB的主要特点包括易学易用、面向对象和可视化编程等。
2. 开发环境搭建在开始学习VB之前,我们需要安装VB开发环境。
可以下载安装Visual Studio,它是一个集成开发环境(IDE),提供了编写、调试和部署VB应用程序的工具。
3. 开发第一个VB程序接下来,让我们来编写第一个VB程序。
打开Visual Studio,选择创建新项目,然后选择"Windows Forms应用程序"模板。
在新建的窗体上,我们可以拖拽控件、设置属性和编写事件处理程序来实现程序的功能。
4. VB语法基础VB语法类似于其他编程语言,包括变量定义、条件语句、循环语句等。
在VB中,可以使用关键字和语法规则来编写代码,并通过编译器将代码转换为可执行文件。
5. 常用控件和事件VB提供了丰富的控件库,用于构建用户界面。
常见的控件包括按钮、文本框、标签等。
此外,每个控件都有相应的事件,如点击事件、鼠标移动事件等。
通过编写事件处理程序,可以实现控件的交互和响应。
6. 数据库操作VB还支持与数据库的交互。
可以使用技术来连接数据库、执行查询和更新操作。
通过VB代码,可以实现数据的读取、插入、更新和删除等功能。
7. 错误处理和调试在开发过程中,我们可能会遇到错误和异常。
VB提供了一些机制来处理这些错误,如使用try-catch语句来捕获异常。
同时,可以使用调试工具来跟踪代码运行过程、检查变量的值等。
8. 发布和部署当我们完成VB应用程序的开发后,可以将其发布和部署到用户的计算机上。
可以选择发布为可执行文件或安装包,然后用户可以下载并安装应用程序。
总结本教程介绍了VB的基础知识和常用技巧。
Windows驱动开发和环境搭建
【文章标题】: Windows驱动开发和调试的环境设置
【文章作者】: haikerenwu
【使用工具】: VC6.0,VMware6.0.3,Windbg
【电脑配置】: 惠普笔记本xp sp3
(一)VMWare安装篇
VMWare的安装一路Next即可,关于其序列号,百度一下就能找到,虚拟机安装完成之后,需要安装操作系统,我在虚拟机中安装的是windows xp sp2系统。
点击“文件”----“新建”----“虚拟机”
进入新建虚拟机的向导,配置虚拟系统参数
选择虚拟系统文件的兼容格式(新手推荐选择默认选项)
按照默认设置继续点击下一步,选择好您需要的操作系统,此处我选择的是Windows XP Prefessional。
设置虚拟机名称和虚拟操作系统安装路径,我单独空出来一个F 盘,将虚拟机和虚拟操作系统全部装在该盘。
配置网络模式(推荐选择NA T,一般主机不用做任何的设置虚拟机就可以利用主机上网)。
配置虚拟磁盘的容量。
在这里可以直接单击完成,来完成基本操作设置,磁盘默认空间是8GB,用户可以根据自己的实际使用情况来调整大小,也可以自定义分区。
操作完成之后,在“VM”菜单下有个“setting。
”菜单,点击此菜单,在CD-ROM中选择合适的选项,我使用的是Use ISO image 选项,将我的xp sp2操作系统的ISO映像路径设置好,安装操作系统。
点击ok之后,启动虚拟机,即开始安装操作系统,安装过程跟普通装机过程相同。
安装完成之后,启动操作系统,然后在VM菜单下点击“Install VMWare Tools”,把虚拟操作系统的驱动装好。
(二)VMWare设置篇
虚拟操作系统安装完成之后,就是设置该系统为Windbg双机调试做准备。
关闭虚拟操作系统,添加一个虚拟串口,因为我的电脑是笔记本,现在的笔记本很少配置串口,所以要虚拟一个串口,这个过程由VMWare完成,图解如下。
点击VM菜单下setting菜单,在弹出的设置对话框中点击“Add”按钮。
点击Next按钮,在弹出的对话框中选择“Output to named pipe”。
设置pipe的名字,注意此名字在windbg设置中使用,另外第三项选择“The other end is anapplication”,勾选上Connect at power on。
在虚拟机操作系统的boot.ini文件里填入如下内容:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft
Windows XP Professional - debug" /fastdetect /debug /debugport=com1 /baudrate=115200如图:
因为在boot.ini中设置的debug输出端口为com1,所以在虚拟操作系统的设备管理器中设置COM1端口的波特率为115200。
至此虚拟机设置完成。
(三)Windbg设置
创建Windbg的桌面快捷方式,在目标一栏后面添加“-b -k com:pipe,port=\\.\pipe\com_1,resets=0”,如下图所示:
设置Windbg的符号路径,Ctrl+s打开设置窗口,符号路径一般有两个(可以设置多个),一个视设置保存系统符号文件的路径,一个是你的驱动的pdb文件的路径,以分号隔开。
设置符号路径。
“Ctrl+S”打开设置窗体,符号路径一般有两个(可以有多个),一个是你设置保存系统符号文件的路径,另一个是你驱动的PDB的路径,以分号隔开。
重启虚拟操作系统,选择debuge模式。
双击之前创建的Windbg的快捷方式,它会自动去连接调试虚拟操作系统。
“Connected to Windows XP 2600 x86 compatible target at (Thu Aug 13 10:30:25.843 2009 (GMT+8)), ptr64 FALSE”代表连接成功。
我们把编译好的驱动文件(*.sys)放到虚拟操作系统里,回到WinDbg,按“Ctrl+Break”,WinDbg会让虚拟操作系统暂停下来,我们也可以在WinDbg的命令栏输入命令了,在这里输入“bu drivername!driverentry”(本例是bu HelloDDK!driverentry,大小写不限)可以在驱动的DriverEntry函数的入口点下一个延迟断点,其实BU 的意思就是Set Unresolved Breakpoint,WinDbg会记住这个断点,当这个驱动被加载了并且执行到这个地方,WinDbg会暂停虚拟操作系统让你进行调试操作。
drivername是你的驱动名字,比如我在这里的
驱动名字是HelloDDK,那我在这里输入的命令如下:bu HelloDDK!driverentry。
回车后即下好断点了。
现在打开源文件,源文件在宿主机种。
“Ctrl+O”找到驱动的源文件打开,我们打开Driver.c。
如果之前没有设置符号路径的话,可以在此继续设置。
“Ctrl+S”打开设置窗口,符号路径一般有两个(可以有多个),一个是你设置保存系统符号文件的路径,另一个是你驱动的PDB的路径,以分号隔开。
此时要记得勾选“Reload”,稍等片刻,等WinDbg把这些东西加载完毕后再操作。
加载完后我们输入“g”,回车,让虚拟操作系统跑起来。
在虚拟操作系统里运行驱动加载/卸载工具把我们的驱动加载起来。
可以看到,已经断下来了,我们可以源码调试驱动了。
其实可以通过VMWare设置一个共享文件夹,将宿主里编译的sys驱动文件放进去,然后在虚拟操作系统中可以直接通过工具加载和卸载这些驱动文件,方便调试。