windows驱动开发和调试环境搭建

合集下载

wince6.0_开发环境搭建

wince6.0_开发环境搭建

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里完成。

Window是下的QT和DDK环境的搭建

Window是下的QT和DDK环境的搭建

第一种方法:使用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 CE平台搭建

六.Windows CE平台搭建
注意:SDK的制作必须在编译项目完毕之 后进行,否则会出错。
Windows CE的烧写
Jtag烧写方式 USB烧写方式 网络烧写
强调:对于这块TQ2440板子的内核烧写, 我们采取的是USB烧写方式。其他的烧写 方式大家感兴趣的话可以在网上搜索相关 的资料来尝试。
Windows CE的串口调试工具
Windows Embedded CE是微软公司嵌入式、移 动计算平台的基础,它是一个开放的、可升级 的32位嵌入式操作系统。 CE中的C代表袖珍(Compact)、消费 (Consumer)、通信能力(Connectivity)和 伴侣(Companion);E代表电子产品 (Electronics)。 WinCE不仅继承了传统的Windows图形界面,并 且在WinCE平台上可以使用Windows95/98上的 编程工具、使用同样的函数、使用同样的界面 风格,使绝大多数的应用软件只需简单的修改 和移植就可以在WinCE平台上继续使用。
综上所述
1. BSP是板级支持包,与你做的或要编程的硬件有 关,由硬件厂商提供。 2. PB需要BSP来配置硬件平台驱动。 3. PB下编译BSP通过后,可以导出和BSP相关的 SDK供EVB/EVC编程用。同时,生成NK.bin映 像文件,NK烧写到供嵌入式系统硬件平台的启 动介质,通过引导启动WinCE系统。 4. WinCE下面的应用程序可以通过注入EVC的开发 工具开发。 5. EVC在编译的时候需要选择硬件平台,由SDK提 供。
2. 还是靠同步功能,不过不是用EVC的自动发送了, 而是直接通过PC上面虚拟的移动设备复制到开 发板的指定目录下,然后在开发板端执行。
3. 从PC端复制编译出来的应用程序到U盘中,然后 再将U盘中的应用程序复制到开发板端。 4. 将编译好的应用程序复制到BSP包中的“Files” 目录下,然后修改“Files”目录下的 “platform.bib”文件,参考如下所示格式添加到 FILES栏目下:

XP+VS2008+WDK7600驱动开发环境搭建

XP+VS2008+WDK7600驱动开发环境搭建

选择“系统”,“子系统”选“本机(/SUBSYSTEM:NATIVE)”,“堆栈保留大小”输入“40000”,“堆栈提交大小”输入“1000”,“驱动程序”选“驱动程序(/DRIVER)”
选择“高级”,“入口点”输入“DriverEntry”,“基址”输入“0x10000”,“随机基址”选“默认值”,“数据执行保护(DEP)”选“默认值”,“目标计算机”选“MachineX86 (/MACHINE:X86)”
A.点击“c/c++”--
选择“常规”,“调试信息”选:“C7 兼容(/Z7)”,“警告等级”--“3级(/w3)”,“将警告视为错误”--选“是”
选择“优化”,“优化”选“禁用(/0d)”
选择“预处理器”,“预处理器定义”输入“WIN32=100;_X86_=1;DBG=1”
C:\WINDDK\7600.16385.1\lib\wdf\kmdf\i386\1.9
C:\WINDDK\7600.16385.1\lib\wxp\i386
(2)选择“新建项目”中的“win32控制台应用程序”或者“win32项目”,输入项目名称后点击“确定”,进入“win32应用程序向导”,选择“空项目”点击“完成” 。然后将你自己的Driver.cpp和Driver.h加入项目。
/downloads/details.aspx?displaylang=en&FamilyID=d95598d7-aa6e-4f24-82e3-81570c5384cb
2.安装WDK7600,也是从微软官方下载
/downloads/details.aspx?displaylang=en&FamilyID=2105564e-1a9a-4bf4-8d74-ec5b52da3d00

WINDOWS 7 配置驱动开发环境(wdk7.60)

WINDOWS 7 配置驱动开发环境(wdk7.60)

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驱动程序开发环境配置

Windows驱动程序开发环境配置

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开发 例程

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 应用程序开发工具等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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驱动文件放进去,然后在虚拟操作系统中可以直接通过工具加载和卸载这些驱动文件,方便调试。

相关文档
最新文档