Wince6.0驱动开发

合集下载

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

Windows CE 6.0下的驱动

Windows CE 6.0下的驱动

Windows CE 6.0 6 0下的驱动 程序新特性何宗键 “微软——同济”移动与嵌入式中心 同济大学软件学院 济大学软件学院点击添加MSN机器人小新 为您收听下载MSDN中文网络广播课程加油助力!本次课程内容包括• 驱动程序开发简介 • CE 6.0的新内核架构对驱动程序的影响 • 内核模式驱动 VS 用户模式驱动 • 管理缓冲区 • 驱动程序的移植收听本次课程需具备的条件• 有过Windows CE 5.0开发经验 发经验 • 最好熟悉驱动程序开发 • 对CE 6内核有所了解Level 300驱动程序是什么?Application Driver Win CE OSDevice驱动程序是对物理或虚拟设备的抽象回顾驱动程序的基本知识z Native vs Stream ¾ 谁加载该驱动程序 (Who) z 单体 vs 分层 分层(MDD / PDD) ¾ 驱动的结构如何设计 (How) z Built In vs 动态加载 ¾ 驱动何时加载 (When) z Miniport、Wave、Touch ¾ 驱动的模型是什么样子 (What) z 内核驱动 vs 用户驱动 (新) 新 ¾ 在哪里加载驱动 (Where)回顾Windows CE 5的内存架构2 GB Kernel SpaceKernelLarge Memory AreaSlot 32 Slot 31 : : Slot 7 Slot 6 Slot 5 Slot 4 Slot 3 Slot 2Slot 1 – ROM DLLs Slot 0 – ExecutionSingle 2 GB VM for all Processes31 Slots for ProcessesExecution SlotWindows CE 6.0之后的内存模型2 GB Kernel SpaceKernel Filesystem y GWES Drivers2 GB p per ProcessProcess Code User VM32 K ProcessWindows CE 6中的两种驱动User r Memor ry Spac ceServicesD.EXE Windows CE Shell Application Service 1 Service n Udevice.EXE Udevice.EXE User Mode Driver 1 User Mode Driver nMarshalling Kernel Me K emory SpaceWin32 CE APIs – COREDLL / WINSOCK / COMMCTRL / COMMDLGKERNEL.DLLDEVMRG.DLL GWES.DLL DriversFILESYS.DLL FSDMGR.DLLNetworking DLLsOALK.COREDLL.DLL内核态驱动——新瓶装旧酒z 默认的驱动模式 z 在内核地址空间中运行 z 与内核模式的coredll, coredll  k.coredll.dll k coredll dll链接 ¾自动完成,无需更改构建规则 z 效率高 ¾快速访问内核API ¾直接同步访问用户的缓冲区 z 稳定压倒一切! 稳定压倒 切! ¾驱动Crash可能会导致内核崩溃——用户态驱动老革命遇到新问题Reflector服务用户模式驱动程序加载User Mode Driver Host ProcessUser Application User Mode Driver 8ActivateDeviceEx XXX_Init(…) 1udevice.exe User Mode Driver User ModeActivateDeviceEx CreateProcess(,,Volume Name)10HANDLE Returned 39Kernel Mode 47Device Context XXX_Init forwarded to UM Driver HostReflector Service Device Manager 2569HANDLE Parent Bus Driver110HANDLE Returned用户模式驱动注册表p[HKEY_LOCAL_MACHINE\Drivers\ProcGroup_0003]"ProcName"="udevice.exe""ProcVolPrefix"="$udevice"[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Ethman]"Prefix"="ETM""Dll"="ethman.dll""Index"=dword:1; WZCSVC must be started before ethman"Order"=dword:2A; Flags==12 is DEVFLAGS_LOADLIBRARY and DEVFLAGS_LOAD_AS_USERPROC; Flags12 is DEVFLAGS LOADLIBRARY and DEVFLAGS LOAD AS USERPROC"Flags"=dword:12"UserProcGroup"=dword:3 ;// default to group 3BIB文件的改变深入理解:请参考共享源代码缓冲区管理原因——内核驱动缓冲区管理原因——用户驱动缓冲区管理的内容:指针参数与嵌套指针处理调用者缓冲区–列集方法列集之——同步或异步访问CeOpenCallerBufferCeAllocAsynchronousBuffer处理调用者缓冲区–安全拷贝安全拷贝的方法z CeOpenCallerBufferz CeAllocDuplicateBuffer处理缓冲区的API z CeOpenCallerBufferz CeCloseCallerBuffer处理缓冲区的APIz CeAllocAsynchronousBufferz CeFreeAsynchronousBuffer处理缓冲区的APIz CeAllocDuplicateBufferz CeFreeDuplicateBuffer用户态驱动程序的限制用户态驱动程序的限制内核态驱动的限制CeCallUserProc内核模式驱动用户模式驱动同步异步同步异步参数不需使CeAllocDuplicateBuffer 不需要使用CeAllocDuplicateBuf 列表中的指针要用CeFreeDuplicateBuffer fer CeFreeDuplicateBuff er嵌不CeOpenCallerB ffer CeOpenCallerB CeOpenCallerB ffer 入到结构体需要使用CeOpenCallerBuffer CeAllocAsynchronousB uffer C h uffer CeCloseCallerB ff CeOpenCallerBuffer CeAllocAsynchrono usBuffer C h 中的指针CeFreeAsynchronousBu ffer CeCloseCallerBuffer uffer CeFreeAsynchronou sBuffer CeCloseCallerBuffer深入理解:请参考共享源代码CE Base Team Blog: Windows Base Team Blog: Marshal Helper API:驱动程序的移植DEMO使用CEAppCompat工具检查应用程序的兼容性。

Windows_CE_6.0搭建开发环境及模拟器的使用

Windows_CE_6.0搭建开发环境及模拟器的使用

Windows Embedded CE 6.0开发环境搭建过程1、先装Visual Studio 2005, 我拿到的是Professional Edition 英文版的。

需要使用虚拟光驱软件加载后再安装,公司目前存在的另一个以散装文件的方式提供的安装后无法安装升级,最后在编译和下载内核的时候会出现问题。

安装过程中最好别用DEFAULT安装,把组件CUSTOM一下,不然会花很多冤枉的磁盘空间。

WINCE600的Platform Builder不像WINCE500是独立的,而是作为VS2005的插件,以后建立和定制OS、编译调试全部在VS2005里完成。

在此之前如果你已经安装了Wince6.0 的话,建议你将它卸载干净,等第一步和第二步都顺利完成之后再重新安装。

因为Wince6.0的PB是作为VS的一个插件存在的。

2、安装Visual Studio 2005 Service Pack 1, 这是必须的装的, Release Note 里面提到SP1提供了Windows Embedded 6.0 platform and tools support。

不同的VS2005版本(Standard / Professional / Tem Edition) 会对应到不同的下载上,不过目前这个版本可以同吃以上多种版本,官方命名为:VS80sp1-KB926601-X86-ENU.exe,如果你的操作系统是Vista版本的话,你需要去微软的官方网站重新下载,因为这个版本只是针对XP操作系统升级的包。

安装升级包的时间比较长,需要耐心等待!3、安装MSDN,从VS2005的安装页里选择。

新版的MSDN界面功能看起来比较酷,但CE6的Product Documentation写得实在潦草,不少细节貌似没写清楚,所以这里建议选上CE5的产品文档留着以后作参考。

4、安装Windows Embedded CE 6.0。

应用程序开发人员可以不装,可以利用CE6生成的SDK 来工作;但是不装的话,恐怕无法在本地MSDN得到CE6的产品文档,另外还有PUBLIC 目录下丰富的application sample code了。

labview2009开发wince6.0应用 第一部分开发环境配置

labview2009开发wince6.0应用 第一部分开发环境配置

labview2009开发WINCE6.0第一部分配置开发环境一、开发工具清单:1、Dell笔记本(windows7)2、NI labview2009(Touch panel module2009)3、周立功EasyArm-IMX283开发板二、开发准备工作1、Touch panel module20092、MicrosoftActiveSync6.1三、初始化配置步骤1、安装Microsoft ActiveSync6.12、安装过程中用自带数据线连接电脑和imx283开发板的USB_OTG接口。

保持电脑联网,电脑可以自动安装相关设备驱动。

驱动安装后,才能完成microsoft activesync安装。

3、从开始打开windows mobile 设备中心,会自动和设备建立连接,显示如下。

(此时IMX283开发板显示屏右下角会出现小电脑图标,表示连接成功)4、打开labview2009后新建项目IMX283.lvproj。

在项目浏览器子目录新建“终端和设备”。

5、选择”Touch Panel Windows CE 5.0 Deviece”->确定,显示如下。

6、在项目浏览器的子项”Touch Panel Windows CE 5.0 Deviece”下新建HelloWorld.vi。

该vi可以实现触发布尔控件后输出“HelloWorld!”。

对于每个学习程序的童鞋来说最熟悉不过了吧。

(写程序时必须设计为循环结构。

下图第一次写的程序,运行时仅瞬间显示后关闭,后来放到循环结构后解决问题)7、新建一个Touch Panel Application(EXE)文件,显示如下。

把Front panel scale factor 改为1打开“Deveice Information”选择processor为ARM打开source files,将helloworld.vi添加到Top Level vi运行程序,点击“Run”,运行前确保电脑和IMX283连接正常。

基于Windows CE6.0双模终端的摄像头驱动开发

基于Windows CE6.0双模终端的摄像头驱动开发
i s le s ov d.
【 yw rs MA 3 3;O 9 5 ; n o sC 60 d a- o ep o e Ke od 】O P 5 0 V 65 Widw E . ulm d hn ;
0 引 言
由 于手 机 用 户 数 量 的 激 增 . 致 了手 机 网络 系 统 处 导
ae r mo e u tb e o mb d e s se ih e d l w r p we o s mp i n n mo e i l cr u t t a h r d t n l C r s i l fr e e d d y tms whc n e o e o r c n u t a d a o r smp e i i h n t e ta i o a C D c i c me a h o a r ,t e c mmu i ain meh d b t e n c t t o ewe n 0V9 5 a d OMA 3 3 n tr f h r w r i d s rb d h n t e c me a d v r i o 6 5 n P 5 0 i ems o a d a e s e c e ,t e h a r r e n i i Wi d ws C 60 b s d o h u l mo e tr n l i p e e t d i ea l h e eo me to n o E . a e n t e d a— d emi a s r s n e n d ti .T e d v l p n f CMOS c me a d ie n W i d w E a r r ri n o s C v
( 庆 邮 电大 学 无 线定位 与 空间 测量 研 究 所 , 重 重庆 4 0 6 ) 0 0 5
【 摘 要 】 由于 Wi o sC 60下 的摄 像 头驱 动 开 发没 有 通 用 的驱 动程 序 , C S摄像 头 比传 统 的 C D摄 像 头 更适 合 于 嵌 入 式 n w E . d 且 MO C

基于Windows CE6.0双模终端的摄像头驱动开发

基于Windows CE6.0双模终端的摄像头驱动开发

基于Windows CE6.0双模终端的摄像头驱动开发贺柳;何维;田增山【期刊名称】《电视技术》【年(卷),期】2011(35)1【摘要】由于Windows CE6.0下的摄像头驱动开发没有通用的驱动程序,且CMOS摄像头比传统的CCD摄像头更适合于嵌入式低功耗、电路简单的应用,因此,首先从硬件方面给出了OV9655芯片与OMAP3530的通信方式,然后从软件方面详细阐述了基于Windows CE6.0双模终端的摄像头驱动程序,解决了Windows CE平台下CMOS摄像头驱动程序的开发问题.%Because the development of camera driver in Windows CE6.0 doesn't have the universal driver, and CMOS cameras are more suitable for embedded systems whieh need lower power consumption and more simple circuit than the traditional CCD camera, the communication method between OV9655 and OMAP3530 in terms of hardware is described, then the camera driver in Windows CE6.0 based on the dual-mode terminal is presented in detail. The development of CMOS camera driver in Windows CE is solved.【总页数】5页(P26-29,33)【作者】贺柳;何维;田增山【作者单位】重庆邮电大学,无线定位与空间测量研究所,重庆,400065;重庆邮电大学,无线定位与空间测量研究所,重庆,400065;重庆邮电大学,无线定位与空间测量研究所,重庆,400065【正文语种】中文【中图分类】TN929.53;TP311;TP316.7【相关文献】1.基于Windows CE6.0的双模手机节能设计 [J], 刘浩明;何维;田增山2.基于Windows CE5.0的双模终端系统设计与实现 [J], 邱赟;何维;沈建国3.WinCE6.0下双模终端的USB转串口驱动开发 [J], 张旭;何维;田增山4.基于Windows CE6.0的双模通信系统终端 [J], 刘惠深;何维;田增山5.酷派 N900 Windows CE6.0操作系统、双卡双待及双摄像头 [J],因版权原因,仅展示原文概要,查看原文内容请购买。

WinCE 6.0下的SD卡驱动的开发

WinCE 6.0下的SD卡驱动的开发

WinCE 6.0下的SD卡驱动的开发
许建文;赵文登;黄少珉
【期刊名称】《电脑知识与技术》
【年(卷),期】2009(005)030
【摘要】随着嵌入式设备的发展,对大容量存储的需求越来越大.而SD卡是目前嵌入式设备使埔的最常见的存储设备之一.文中对微软发布的嵌入式操作系统WinCE 6.0下的SD驱动架构进行了分析,并以东南大学研发的SEP0718为处理器实现了SD驱动代码,详细分析了驱动加栽流程以及驱动实现过程.
【总页数】4页(P8561-8563,8588)
【作者】许建文;赵文登;黄少珉
【作者单位】东南大学集成电路学院,江苏,南京,210096;东南大学集成电路学院,江苏,南京,210096;东南大学集成电路学院,江苏,南京,210096
【正文语种】中文
【中图分类】TP31
【相关文献】
1.基于WINCE的多路数据采集处理播放及SD卡存储的实验系统 [J], 王芃;董景新;高震;施镠佳
2.基于NiosⅡ的SD卡驱动程序开发 [J], 邓中亮;陈续
3.SD卡的WinCE7.0 Bootloader设计与应用 [J], 王小亮;王勇;汤永科;秦磊
4.SD卡加载和引导WinCE内核映像的实现 [J], 杨雁飞;孙耀杰;郭嘉
5.基于eCos系统的SPCE3200中SD卡驱动程序的开发 [J], 王玉叶;宋国富
因版权原因,仅展示原文概要,查看原文内容请购买。

WinCE6.0下双模终端的USB转串口驱动开发

WinCE6.0下双模终端的USB转串口驱动开发
关键词 : n E . ; 模终端 ;S WiC 6 0 双 U B转 串 口
0 引 言
我国 3 G牌 照 的 发放 , 宣告 了 3 时代 的到 来 , G
基于 T —C MA和 C MA WC MA 的双 模 终 端 将 DS D D / D 取代 2 时代 的单 模 终 端 。诺 基亚 、 星 、 为 、 G 三 华 中 兴等 国 内外 通 信 厂 商 都 积 极 投 入 到 双 模 手 机 终 端 的开发 中来 , 目前 双模 手 机终 端 的研发 已经 成 为热 点 。当前市场 中主要 的智 能手 机操 作 系统 有 : o i N ka 主推 的 Sm in 开 放 内核 的嵌 入 式 Ln x 微 软 的 y ba , iu , WiC n E等 。由于 WiC 6 0嵌人 式 系统具 有实 时性 n E.
Wi E. U B设备驱动开发只提供了一些底层支持 n 60对 S C
的原因, 以通 信 模 块 厂 商 未 提 供 WiC 6 0下 的 所 nE .
U B驱 动 , 要 实 现 通 信 模 块 的基 本 功 能 , 开 发 S 而 除
纯 U B驱 动 外 , WiC 6 0下 , 需 要 修 改 Mo S 在 nE. 还 . d m源码 , e 存在 着开 发 周 期 长 、 作量 大 、 容 性 差 工 兼 等 问题 , 给开发 人 员带 来 了极 大 的不 便 。而通 过 串 口直接对 Mo e dm进 行操作 , 不仅 避 免 了上述 在开 发 中存 在 的问 题 , 时 由于操 作 Mo e 的 是 虚 拟 串 同 dm 口, 由它来 适 配 Moe 不 会 出 现 由物 理 串 口操 作 d m, Mo e 时制 约 M d m处理速 率 的问题 , 然保持 了 dm oe 仍 U B高 速的特 点 , 开 发人 员 只 需 开发 出对应 模 块 S 故 的 U B转 串 口驱 动 亦 可实 现 上 网 、 电话 等 功 能 ; S 打
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Wince6.0驱动开发
(1) 在WINCE600\PLATFORM\LPC32XX \SRC\DRIVERS目录下新建一个目录MyDriver.
(2) 在MyDriver目录下新建5个文件。

a) MyDriver.c 实现流接口函数的具体代码。

b) MyDriver.h 为MyDriver.h的头文件。

c) MyDriver.def 定义导出的函数名称。

d) makefile 与其它驱动的相同,不用改。

e) sources 链接和编绎文件。

(3) 前缀定义为MYD
(4)文件内容完成后,在平台的“解决方案”的界面下,寻找FLATFORM\LPC32XX\src\drivers\MyDriver,然后单击鼠标右键,在弹出的菜单中选择“Build”,开始编绎驱动,完成后,在WINCE600\PLATFORM\LPC321XX\target\ARMV4I\retail下可找到MyDriver.dll.
(5) 驱动加载的方法:手动,自动。

这里介绍自动加载的方法:
a) 在MyDriver目录的位置找到dirs文件,在该文件中插入一行mydriver (都为小写),并在上一行后加“\”。

b) 在平台的“解决方案”的界面下,寻找FLATFORM\LPC32XX\Parameter Files\platform.bib.打开此文件,在相关位置添加mydriver(_FLATRELEASEDIR)\mydriver.dll NK SHK SHK指明该文件的属性,S—系统文件,H—隐藏文件,K—在内核中的位置固定。

c) 在Platform.req文件中相关位置添加程序如下:
;MyDriver
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MYD]
“Prefix”=”MYD”
“Dll”=”MyDriver.dll”
“FriendlyName”=”Wangcong’s Driver”
“Index”=dword:1
“order”=dword:0
d) 选择菜单“生成”“生成解决方案”,生成新的操作系统镜像。

e) 重新下载新的镜像到开发板上,下载完成后,在PC上观察到启动信息,若有
MYD:DLL—PROCESS—ATTACH
:::MYD—Init
则表示该驱动已被加载且激活了。

相关文档
最新文档