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 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 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第一部分配置开发环境一、开发工具清单: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双模终端的摄像头驱动开发
【 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双模终端的摄像头驱动开发贺柳;何维;田增山【期刊名称】《电视技术》【年(卷),期】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卡驱动的开发
许建文;赵文登;黄少珉
【期刊名称】《电脑知识与技术》
【年(卷),期】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转串口驱动开发
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 打
Wince6.0应用开发:一、平台搭建
Wince6.0应用开发:一、平台搭建由于需要参加一个比赛,于是就接触了WinCE6.0的应用开发,可是所看到的资料大部分都是关于WinCE6.0系统的开发,或者在系统之上的驱动开发。
像我这种只在WinCE6.0上利用厂商提供的类库进行应用开发的真实伤不起。
下面介绍开发环境:我的自己的系统是WIN7的系统其实假如你和我一样的话只开发应用的话,其实根本不需要按照网上那样下差不多4G的东西。
需要做的是,一、装个vs2008(记得包含智能设备开发这一项,vs2010是不支持智能设备开发的。
当然你也可以选择vs2005,这随便你。
vs2008对应的Wince上的.net compact framework3.5,而vs2005对应的是2.0),二、再装个WINCE6.0_CHS_SDK(这是个wince6.0的SDK软件开发包)三、安装一个Wince设备的同步软件。
四、(可选择)假如你想要让你的模拟器上网的话,你就吧Virtual Pc 2007安装上吧!详细的步骤:一、装个vs2008开发应用的话,比较快捷的无疑有c++以及c#,所以这就看你自己的需要的了,不过在安装的时候,记得选择上智能设备课编程技术这一项。
如下图这样第一步就完成了。
二、安装这个的目的是因为其提供了一个Win ce6.0的模拟器,之后只需要将写好的程序点击(开始执行不调试)或者(启动调试)都行,vs2008便会在模拟器上部署应用程序。
之后便可以执行了。
下载地址:《传送门》安装时的注意事项:1、安装的时候记得选择自定义2、然后如下图记得取消文档这一项,否则会出现安装失败的提醒。
三、同步软件的安装:Winxp:装的是Activesync 4.5 《传送门》Win7:装的是Windows mobile center 《传送门》补充:假如百度网盘的内容被取消了,给我留言,我会马上补充回来的四、Virtual Pc 2007安装后便能在wince模拟器中,做些设置便能上网了。
基于Windows CE6.0双模终端的摄像头驱动开发
为满足新一代多媒体信息处理和3G移动通信应用 的需要.德州仪器公司开发出了一种高性能、高集成度 的嵌入式处理器——开放式多媒体应用平台(Open
Muhimedia Applications Platform,OMAP)闭,它是由DSP 与ARM结合而成的一种独特的双核结构.其运算处理能 力强、功耗低,具有丰富的外围接口,特别适用于新一代 手持设备的开发。
DWORD Context, DWORD Acc∞s。 DWORD ShareMode )
其中,hDeviceContext是驱动上下文句柄,由系统自 动填充;AceessCode是访问模式,ShareMode是共享模式, 均由CreateFile()传递过来;CAM_Open的工作是返回 DWORD形式的Context,再作为CreateFile()的句柄值 返回给用户。
目前手机的摄像头核心成像部件有两种:一种是广 泛使用的CCD(电荷藕合)元件;另一种是CMOS(互补金 属氧化物导体)器件。由于CCD制造丁艺复杂,只有少数 的厂商能够掌握。所以其制造成本居高不下。而在相同分 辨力下。CMOS价格比CCD便宜,且CMOS的龟源消耗 量比CCD低。通过采用先进的影像控制技术完全可以达 到与CCD摄像头相媲美的效果。因此笔者选用了Om— niVision公司CMOS低功耗数字摄像头OV9655。
基于WinCE6.0的LPC3250串口驱动程序开发
基于WinCE6.0的LPC3250串口驱动程序开发
李维;谢云
【期刊名称】《单片机与嵌入式系统应用》
【年(卷),期】2009(000)008
【摘要】LPC3250微控制器具有很好的市场前景,基于它的硬件平台进行WinCE6.0的串口驱动开发是个难点.本文简单介绍了WinCE6.0的串口驱动模型;结合LPC3250串口的特殊性,详细说明在串口驱动开发的具体实现过程中如何配置串口相关的寄存器和处理中断;并分析了相关的部分源代码、注册表和Source文件.该驱动程序的实现为各种串口驱动开发提供了方便,经过测试,该设计方案是正确可行的.
【总页数】4页(P36-39)
【作者】李维;谢云
【作者单位】广东工业大学;广东工业大学
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于WDM模式的八串口卡驱动程序开发 [J], 兰明蛟;董超;田畅;胡明
2.WinCE6.0下双模终端的USB转串口驱动开发 [J], 张旭;何维;田增山
3.基于VxWorks嵌入式系统的多串口驱动程序开发 [J], 官琴;王璐
4.基于MPC8270的VxWorks下串口驱动程序开发 [J], 吴雨舟;路唯佳;张平
5.基于DSP嵌入式uClinux的串口驱动程序开发 [J], 董纯;蒋方亮;季启政;杨林鹏
因版权原因,仅展示原文概要,查看原文内容请购买。
建立WindowsCE 6.0开发环境
说明:本文档由友善之臂临时制作提供,仅供参考9.1建立WindowsCE 6.0开发环境注意:以下软件和步骤均基于Microsoft Windows 7系统(旗舰版),其他Windows系统未经测试。
建议把安装软件复制到硬盘安装(ISO光盘映象文件可借助虚拟光驱)Windows CE 6.0的安装过程十分繁琐,并且对开发主机的要求比较高(否则会很慢),我们建议用户特别是初学者务必按照我们介绍的步骤安装开发环境。
这里是我们采用的开发主机的关键配置,仅供参考:CPU:Intel Core Duo E8400内存:DDR2 4GB硬盘空间:500GB安装所需的软件列表如下:9Visual Studio 20059Visual Studio 2005 Service Pack 1(文件名:VS80sp1-KB926601-X86-ENU.exe)9Visual Studio 2005 Service Pack 1 Update for Windows Vista(文件名:VS80sp1-KB932232-X86-ENU.exe)9Visual Studio 2005 Service Pack 1 ATL Security Update(文件名:VS80sp1-KB971090-X86-INTL.exe)9Windows Embedded CE 6.09Windows Embedded CE 6.0 Platform Builder Service Pack 19Windows Embedded CE 6.0 R29Windows Embedded CE 6.0 R39腾讯QQ(第三方软件)9WesttekFileViewers6.exe(office文件浏览器,亦属于第三方软件)以上列表顺序基本也说明了这些软件的安装顺序:先安装Visual Studio 2005及补丁,再安装Windows CE 6.0及补丁,最后安装第三方软件。
基于wince6.0的高像素摄像头驱动设计与实现
基于wince6.0的高像素摄像头驱动设计与实现摘要:由于嵌入式系统的系统资源的有限性,系统上的摄像头设备多通过插值等方法获得伪高分辨率,无法满足文字识别应用的需求。
为解决这个问题,文章首先分析了S3C6410嵌入式处理器的camera模块接口的特性,介绍其与CMOS摄像头的硬件连接方法,并在Windows CE6.0操作系统上采用DirectShow技术设计并实现了500万像素高分辨率摄像头驱动。
通过实验进行验证分析,结果表明该摄像头驱动运行稳定,对其获得的文字图片进行识别,测试结果显示识别率达到99.5%。
关键词:camera驱动;高分辨率;DirectShow;Windows CE6.0;S3C6410中图分类号:TP303 文献标识码:AAbstract:On account of the limitation of system resources in embedded platforms,methods like interpolation are commonly applied to obtain pseudo-high-resolution images,but which cannot meet the requirements of character recognition.In order to solve this problem,the thesis firstly analyzes the camera module interface features of the embedded processor S3C6410,and then introduces theconnection method between the camera module interface and CMOS camera hardware.With the application of DirectShow technology in Windows CE6.0,the driver for high-resolution cameras(up to 5 million pixels)has been developed.A verification experiment has been conducted and the result indicates that the camera driver has both high reusability and high stability.A testing experiment has been conducted to verify the high resolution and the result shows that the recognition rate is up to 99.5%.Keywords:camera driver;high resolution;DirectShow;Windows CE6.0;S3C64101 引言(Introduction)随着嵌入式处理器的发展和硬件成本的不断降低,拍照和摄像功能也在各种嵌入式系统中得到了广泛应用,比如拍照手机,小型监控设备等等[1,2]。
Windows CE 6.0入门详解(环境搭建系统开发起步)教学文稿
W i n d o w s C E 6.0入门详解(环境搭建系统开发起步)Windows CE 6.0入门详解(环境搭建内核配置和应用开发起步)武汉众嵌科技有限公司修订历史记录A - 增加M - 修订D - 删除一、安装开发环境 (5)A)按下列顺序安装所需软件 (5)B)安装说明 (5)C)装中可能出现的问题及解决方法 (6)二、WINDOWS CE 内核定制 (8)A)基W INDOWS CE产品开发流程大致分为以下几个阶段 (8)1. 硬件设计 (8)2. 选定BSP (8)3. 获得驱动程序 (8)4. 剪裁系统内核 (8)5. 导出SDK (9)B)详细制作流程 (9)1. 新建立一个OS Design工程 (9)2. 建立工程 (10)3. 配置工程 (11)C)配置内核 (13)1. 选择应用程序(Applications-End User) (13)2. Applications and Services Development (13)3. 选择系统核心服务(Core OS Services) (14)4. Communication Services and Networking (15)5. 设备管理(Device Management) (15)6. File System and Data Store (16)7. 选择字体(Fonts): (16)8. 国际化支持(International) (16)9. Internet Client Services (17)10. Graphics and Multimedia Technologies (17)11. Shell and User Interface (17)D)生成系统镜像 (17)E)生成SDK (18)F)安装A CTIVE S YNC 并配置 (18)G)配置模拟器并生成程序 (18)H)配置模拟器 (19)I)应用开发 (21)一、安装开发环境a) 按下列顺序安装所需软件1.Visual studio 20052.Visual studio 2005 server pack 13.Visual studio 2005 service pack 1 update for Windows vista/74.Windows Embedded CE 6.0 (Windows Embedded CE 6.0.iso)5.Windows Embedded CE6.0 service pack 16.Windows Embedded CE 6.0 R27.Windows Embedded CE 6.0 R38.Windows Embedded CE cumulate product update rolluppackage through(12/31/2010)9.VS_emulator.exe(模拟器)b) 安装说明我的系统是Windows 7 旗舰版所以存在一个权限问题我以这样的方式安装所有的程序:c) 装中可能出现的问题及解决方法报错信息:1. ToolsMsmCA(Error): Setup package issue or CoreConDataStore corrupted: DeviceSDKInstComp Add/Remove failed.HR=0x8007005。
基于WinCE6.0的 LPC3250串口驱动程序开发
基于WinCE6.0 的LPC3250 串口驱动程序开发引言Windows CE 是一个开放的、可升级、可裁减的32 位实时嵌入式操作系统,具有可靠性好、实时性高、内核体积小的特点,广泛应用于工业控制、信息家电、移动通信、汽车电子、个人电子消费品等领域。
最新版本Windows Em-bedded CE 6.0 于2006 年11 月发布,其特点有:最大进程数量到32K,且每个进程有最大2 GB 的虚拟内存空间;将关键的驱动程序、文件系统和图形界面管理器移到了内核中,大大减少了CPU 在内核态和用户态间切换造成的性能损失等。
LPC3250 是NXP 半导体公司(由Philips 公司成立)推出的带有矢量浮点协处理器的ARM926EJ-SCPU 内核的微控制器。
它具有丰富的外围接口,包括7 个UART,其中4 个是标准UART,另外3 个是高速UART,都带有64 字节的接收和发送FIFO,最高可支持的速率达921 600 b/s。
为了实现低功耗,LPC3250 采用NXP 半导体先进的开发技术来优化内在功率,并使用增强型的软件控制结构使基于功率管理的应用得到优化。
在同时要求高性能和低功耗的嵌入式应用中,运行Win-dows CE 的LPC3250 平台将会有很好的市场前景,对于最常用到的串口的驱动开发显得尤为重要。
1 WindOWS CE 的串口驱动模型基于Windows CE 有两种驱动程序模型:本机设备驱动程序和流接口驱动程序。
串口驱动就属于分层的流接口驱动程序。
分层驱动程序将设备的驱动程序分为两层:平台相关驱动PDD(Platform Dependence Driver)层和模型设备驱动MDD(Model Device Driver)层。
PDD 层由特定于给定硬件设备或平台的代码组成,很多时候用户需要根据具体平台修改;MDD 层包含平台无关的代码,它通过实现一些操作系统预先定义的接口来实现某一类设备的通用功能,通常由微软提供。
Windows CE 6.0入门详解(环境搭建系统开发起步)
Windows CE 6.0入门详解(环境搭建内核配置和应用开发起步)武汉众嵌科技有限公司修订历史记录一、安装开发环境 (3)A)按下列顺序安装所需软件 (3)B)安装说明 (3)C)装中可能出现的问题及解决方法 (4)二、WINDOWS CE 内核定制 (5)A)基W INDOWS CE产品开发流程大致分为以下几个阶段 (5)1.硬件设计 (5)2.选定BSP (5)3.获得驱动程序 (5)4.剪裁系统内核 (5)5.导出SDK (6)B)详细制作流程 (6)1.新建立一个OS Design工程 (6)2.建立工程 (7)3.配置工程 (8)C)配置内核 (10)1.选择应用程序(Applications-End User) (10)2.Applications and Services Development (10)3.选择系统核心服务(Core OS Services) (11)munication Services and Networking (12)5.设备管理(Device Management) (12)6.and Data Store (13)7.选择字体(Fonts): (13)8.国际化支持(International) (13)9.Internet Client Services (14)10.Graphics and Multimedia Technologies (14)11.Shell and User Interface (15)D)生成系统镜像 (15)E)生成SDK (16)F)安装A CTIVE S YNC 并配置 (16)G)配置模拟器并生成程序 (16)H)配置模拟器 (17)I)应用开发 (19)一、安装开发环境a) 按下列顺序安装所需软件1.Visual studio 20052.Visual studio 2005 server pack 13.Visual studio 2005 service pack 1 update for Windows vista/74.Windows Embedded CE 6.0 (Windows Embedded CE6.0.iso)5.Windows Embedded CE6.0 service pack 16.Windows Embedded CE 6.0 R27.Windows Embedded CE 6.0 R38.Windows Embedded CE cumulate product update rolluppackage through(12/31/2010)9.VS_emulator.exe(模拟器)b) 安装说明我的系统是Windows 7 旗舰版所以存在一个权限问题我以这样的方式安装所有的程序:c) 装中可能出现的问题及解决方法报错信息:1. ToolsMsmCA(Error): Setup package issue or CoreConDataStore corrupted: DeviceSDKInstComp Add/Remove failed.HR=0x8007005。
WCE 6.0触摸屏开发步骤
其中电阻式触摸屏在嵌入式系统中用的较多, WinCE触摸屏驱动的设计和实现有以下几个步骤:(1)配置和初始化触摸屏触摸屏驱动在初始化过程会调用TouchPanelEnable函数,该函数调用的DDSI函数为DdsiTouchPanelEnable和 DdsiTouchPanelDisable。
这两个DDSI接口函数是驱动实现的关键所在,分别用于打开和关闭触摸屏硬件。
但是为了降低功耗,这两个函数其实可以不真正操作硬件,而只是实现软件上的控制。
同时,在初始化时还需要进行这几个配置和初始化:一是创建事件hTouchPanelEvent和 hCalibrationSampleAvailable,前者是在正常状态下当有触摸笔按下或者按下后需要定时采集数据时被触发;而后者是在校准状态下当有校准数据输入时被触发。
二是检查初始化所需的中断gIntrTouch(触摸屏中断)和gIntrTouchChanged(定时器中断),并将这两个中断关联到事件hTouchPanelEvent。
三是创建一个ISR线程TouchPanelpISR,用于等待和处理触摸屏事件 hTouchPanelEvent,它也是整个驱动程序中唯一的事件源。
(2)校准触摸屏基准参数完成前面繁琐的工作后,驱动程序的各种功能就都已经准备就绪了,现在就可以实际操作触摸屏幕了。
但一般来说,电阻式触摸屏需要校准,也就是说在驱动启动过程中MDD层要调用相应的DDSI函数来读取注册表中的校正数据校正触摸屏。
理想情况下,校准程序只要在嵌入式设备初次加电测试过程中运行一次就可以了,参考值会被存储在非易失性存储器中,以免让用户在以后的加电启动期间再做校准。
不过,高质量的触摸屏驱动程序是应该要向用户提供一种进入校准例程的途径,从而在由于温度漂移或其它因素造成校准不准确时进行重新校准。
在理想情况下,校正触摸屏基准只需两组原始数据,即在屏幕对角读取的最小和最大值。
但在实际应用中,因为许多电阻式触摸屏存在明显的非线性,如果只在最小和最大值之间简单的插入位置数值会导致驱动程序非常的不精确。
WINCE6.0下的nandflash驱动
WINCE6.0下的nandflash驱动(基于K9F1G08U0B)********************************LoongEmbedded********************************作者:LoongEmbedded时间:2010.11.26类别:WINCE驱动开发********************************LoongEmbedded******************************** 1.nandflash驱动架构概述图1Windows CE下的FLASH驱动分为两层,分别为FMD层和FAL层(flash abstraction layer),FMD (Flash Media Driver)属于底层,直接操作Flash硬件,比如读、写和擦除等,不同的Flash 硬件则FMD_XXX接口实现函数各不相同,上层则是FAL (Flash Abstraction Layer)层,该层是由微软实现并提供的,是一个与硬件无关的层,可用于FAL层实现扇区的动态分配和坏块管理等。
FAL层向应用层(如API)提供DSK接口。
例如CreateFile中调用的设备即是调用该FAL层提供的接口。
FMD层暴露FMD_XXX让FAL层调用。
在PB中的阐述如下:The flash media driver (FMD) is a device driver that performs the actual input and output of data to a flash memory device. An FMD contains all of the device-specific code necessary for read, write, and erase commands to the flash memory device. You can link the FMD with the flash abstraction layer (FAL) to create a block driver that a file system such as FAT can use. You can also link the FMD with a boot loader so that the boot loader can flash a run-time image.2.FAL和FMD对应的实现代码部分首先我们知道是由FAL+FMD smflash.dll的,下面看看FAL和FMD分别对应哪些代码:2.1 FAL层FAL: \WINCE600\PRIVATE\WINCEOS\DRIVERS\MSFLASH,这个文件夹下的代码编译出fal.lib也就是说FAL层是以fal.lib供链接的,fal.lib的导出文件内容如下:LIBRARY MSFLASHEXPORTSDSK_InitDSK_DeinitDSK_OpenDSK_CloseDSK_ReadDSK_WriteDSK_SeekDSK_IOControlDSK_PowerDownDSK_PowerUp从上面的导出函数可知FAL层向应用层(如API)提供DSK接口2.2 FMD层smflash_lib.lib:\WINCE600\PLATFORM\DMA2443\Src\Common\Smartmedia\fmd,这个文件下的代码生成smflash_lib.lib,而\WINCE600\PLATFORM\DMA2443\Src\Common\Smartmedia\Dll 文件夹将生成smflash.dll,下面是其sources的内容:TARGETNAME=smflashTARGETTYPE=DYNLINKRELEASETYPE=PLATFORMWINCEOEM=1DEFFILE=smflash.defTARGETLIBS=$(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib \SOURCELIBS=$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\fal.lib \$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\smflash_lib.lib可以知道smflash.dll需要链接fal.lib和smflash_lib.lib这个两个库,而fal.lib就是FAL层提供的链接库,smflash_lib.lib是FMD层提供的链接库。
WinCE 6.0的大容量NAND Flash驱动开发
WinCE 6.0的大容量NAND Flash驱动开发
俞翔;高明煜;何志伟
【期刊名称】《杭州电子科技大学学报》
【年(卷),期】2009(029)001
【摘要】该文阐述了一种基于Windows CE 6.0的车载全球定位导航器内大容量NAND Flash驱动程序开发.介绍了Marvell公司的PXA310嵌入式处理器与三星公司NAND Flash存储器的硬件连接方式,详细分析了WinCE6.0下NAND Flash 驱动程序结构,为增强代码可移植性,设计了FMD分层模型,同时解决了WinCE内核空间和用户空间在同一块大容量Flash上的共享问题.经实验证明,所设计的大容量闪存驱动程序能够可靠运行,达到了预期目标.
【总页数】4页(P13-16)
【作者】俞翔;高明煜;何志伟
【作者单位】杭州电子科技大学系统集成研究所,浙江,杭州,310018;杭州电子科技大学系统集成研究所,浙江,杭州,310018;杭州电子科技大学系统集成研究所,浙江,杭州,310018
【正文语种】中文
【中图分类】TN392
【相关文献】
1.Nand Flash的驱动开发及产品化探讨 [J], 郭鑫俊;
2.WinCE系统上大容量NAND Flash驱动设计与优化 [J], 张超;张哲;胡晨
3.Nand Flash的驱动开发及产品化探讨 [J], 郭鑫俊
4.NandFLASH和NorFLASH接口设计和驱动开发 [J], 赵军伟;李宏穆;庄阿龙;何剑锋
5.WinCE
6.0下双模终端的USB转串口驱动开发 [J], 张旭;何维;田增山
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
则表示该驱动已被加载且激活了。