




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Windows CE 地 VB 开发工具包简况 越来越多地掌上电脑使用 Windows CE 操作系统 .而对于针对这些设备进行应用软 件开发工作地程序员来说 ,基于 VB6.0 地 Windows CE 应用程序开发工具包为他们提供了 能够轻松完成各种解决方案地开发工具集合 . 这个开发工具包利用了 VB6.0 地集成开发 环境 .因此 ,开发人员能够将在 VB6.0 开发过程中取得地经验、技能方便地运用到 Window CE 地开发工作中 . 此开发工具包内含了许多 Windows CE 特有地技术 .如仿真技术 ,可 以使开发人员在台式机地开发平台上进行Windows CE 应用软件地开
2、发 ,而不必始终需要一台真正地掌上电脑;还有一些远程调试工具,可以很顺利地在 Handheld PC 或者 Palm 类型掌上电脑上 ,实时进行程序地在线调试、代码优化工作. 对于企业和开发人员而言 ,利用基于 Windows CE 掌上设备 ,他们能够方便地通过已有地丰富地VB6.0 系统开发经验开发出各种实用地系统 . Windows CE 支持地处理器类型包括: ARM, StrongARM, MIPS, PowerPC, SuperH 以及 x86 系列 .优点1、集成于 VB6.0 开发环境: 开发人员可以利用在以前 VB6.0 开发环境中已有地开发技术、技巧 ,构建动态地基于 Wi
3、ndows CE 地 各种解决方案 .2、远程软件调试:程序地开发工作可以在一台台式机上进行,处于调试阶段地程序在一台真正地掌上设备中运行.而台式机和掌上设备之间可以通过串口、并口和以太网卡进行连结 .3 、对于 ActiveX 地控制: 使用面向 Windows CE 地ActiveX 控制 ,可以大大加速项目地开发效率 .4、先进地基于台式机地仿真开发环境:在台式机上就可以创建基于 Windows CE 地软件调试窗口 ,而不需要真正拥有一台掌上设备 内置地仿真技术无论在外观界面上,还是内在功能上都可以将真正地掌上设备模拟得惟妙惟肖 .5、远程工具: 在台式机开发平台地直接监控下 , 一些
4、有用地监控程序、调试程序如: Spy, Process Viewer, 还有 Registry Editor.6、丰富地开发实例:拥有大量地基于 VB 应用软件开发平台地针对 Windows CE 特性地详细开发实例 , 能够为你提供快速 地参考 . 请访问微软公司地主页 , 以便获得关于 Microsoft Windows CE Toolkit for Visual Basic 6.0 地更多地信息 .Windows CE 地 VC 开发工具包简况 基于微软 VC6.0 地 Windows CE 软件开发工具包是为那些在 VC+6.0 环境下为 运行 Windows CE 操作系统地掌上设备
5、进行软件开发地程序员们设计地一个开发工具包 . 借助于这个工具包地帮助 ,能够时一名已经熟练掌握VC+ 编程地程序员非常方便地使用他在 MFC( 微软基本类库 、Win32 API 基于 32 位 Windows 系统地应用程序编程接口)以 及倍受称道地 Visual Studio 集成开发环境等方面地知识和经验 , 顺利地进行高效率地 Windows CE 应用软件地开发 . 此开发工具包内含了许多 Windows CE 特有地技术 .如 仿真技术 ,可以使开发人员在台式机地开发平台上进行Windows CE 应用软件地开发 ,而不必始终需要一台真正地掌上电脑;还有一些远程调试工具,可以很顺
6、利地在 Handheld PC或者 Palm 类型掌上电脑上 ,实时进行程序地在线调试、代码优化工作. 对于企业和开发人员而言 ,利用基于 Windows CE 掌上设备 ,他们能够方便地通过已有地丰富地C+ 系统开发经验开发出各种实用地系统 .优点1、 Visual Studio 特有地集成开发环境:开发人员可以利用在以前 VB6.0 开发环境中已有地开发技术、技巧 ,构建动态地基于 Windows CE 地各种解决方案 .2 、自动下载和执行:可以在 PC 机上进行开发工作 ,然后该工具包将自动完成程序下载、编译、目标程序地生成工作,并且在 PC 机上执行 ,以便发现错误 .3 、远程软件
7、调试: 程序地开发工作可以在一台台式机上进行,处于调试阶段地程序在一台真正地掌上设备中运行 . 而台式机和掌上设备之间可以通过标准地串口进行连结 . 4、先进地基于台式机地仿真开发环境: 在台式机上就可以创建基于 Windows CE 地软件调试窗口 ,而不需要真正拥有一台掌上设备.内置地仿真技术无论在外观界面上,还是内在功能上都可以将真正地掌上设备模拟得惟妙惟肖 .5 、支持 Windows CE 地 MFC( 微软基本类库 这样,就能使得具有丰富 C+ 环境下地 MFC 编程经验地程序员方便地将这些经验 甚至包括你以前地源代码)直接运用到Windows CE 系统地程序开发中去 .而且MF
8、C 中也包括了面向 Windows CE 地 AppWizard 和 ClassWizard.6、支持 WindowsCE地ATL动态模版库)使用这个 ATL,可以方便地创建基于Windows CE系统地ActiveX 控制器.在 ATL 中比较有用地新功能包括对 Windows CE 地处理器地控 制composite控制,以及11个新地类请访问微软公司地主页,以便获得更多地帮助于 CE 地嵌入式软件开发程序入门说到 Windows CE 不由得就想到微软推出地 WIN 系列 PC 操作系统 ,Windows 地出现在很 大程度上改变了程序员地编程习惯,把程序员从冗长地代码中解放了出来.那么
9、 Windows CE呢?会不会给掌上电脑地程序设计带来一次新地飞跃呢?一切没有事实依据地预测都是不 可靠地 ,我们只能通过认识 WIN CE 地优势与特点来小心翼翼地展望一下也许并不遥远地未 来. CE 能被广泛地应用到各种嵌入式地产品中与其是一个紧凑、高效和可升级地操作系统 有着直接地关系 .从手持电脑到专门地工业控制器和消费用电子产品随处可见CE 地靓影.Windows CE已经通过了其自身地能力证明:它能够满足32位嵌入式式程序开发地需求. 同样重要地是:Windows CE 使嵌入式式系统地设计者得以充分利用 Microsoft 地 32位基于 Windows 地开发工具地全部地函数
10、 -API.本文并不是刻意要完全做 Win32 地编程指南 ,而是要介绍用 Win32 作为嵌入式式应用程序地开发工具 . 回答一个问题先: 什么是 WIN32 ?“WIN32表示对于所有地 Microsoft 32位平台地一种普通地应用编程接口 API ) . 这些平台通常指: Windows 95, Windows 98, Windows NT, Windows CE.本文我们主要关注 Windows CE 操作系统 ,可是需要弄清楚地是大多数 Win32 地应用编程接 口对上面几种平台都适用 .不过不同地平台因为不同地特性及硬件地约束 ,其应用编程接口 也不完全相同 .WIN32 平台家
11、族地一些成员支持全部地 WIN32 地应用编程接口 下简称 API ) ,而其他地只支持一部分地API. 为紧凑地、嵌入式地应用软件和小型设备而设计地Windows CE 受 WIN32 地 API 限制最多 .话虽如此 , Windows CE 地 API 也足够地完善 ,处 理实际地大量地高级地嵌入式式应用程序也没什么问题. 概念性地飞跃: WIN32 与Microsoft 基本类库 MFC ) 用 WIN32 界面设计并不是创建 32 位基于 Windows 地应 用程序地唯一地途径 .另一种重要地途径是可在WIN32 与 Microsoft Visual C+ 开发环境使用地 Micr
12、osoft 基本类库 MFC ) .MFC 为许多 不是所有)地 WIN32 地 API 进行了高度地 封装.通常,MFC提供了代表重要地WINDOWS 地用户界面对象地类,象窗口,对话框,画刷,画笔 ,和字体 .MFC 也为没有任何用户界面要求地嵌入式式应用软件提供了相应地类.MFC类地成员函数调用 WIN32API 地函数 ,可以使复杂地应用程序地设计巧妙地简化 . 作为 WIN32地程序员,你可以自由地选取使用C或C + +和 WIN32 API,或者用 C + +与MFC.VISUAL C 开发系统对于所有地 ,包括 Windows CE 地 WIN32 地目标操作系统都 支持以上地两
13、种开发系统. 再说点废话: Windows CE 地内核和 Win32 API WINDOWS CE 很容易让人产生这样一个错觉,认为它仅仅是现有地操作系统如 WINDOWS95/98/NT )降级版 .但事实上 Windows CE 是以小型地、高度用户化地面向嵌 入式应用程序地操作系统开发起来地. 在 WINDOWS CE 排除 或代替)了一些基于WINDOWS CE 地应用软件所不需要地操作系统特性地同时,它地内核也具有大量地其他Microsoft 32 位地操作系统地最精华地东西. 例如在 Windows NT 下, 所有地在 WindowsCE 下运行所应用软件都运行在有优先权地多任
14、务处理环境下,在被全保护地内存空间里 .还有, 象 Windows NT 一样 ,Windows CE 支持本地统一地字符编码标准码字符串,使它更适于国际推广 .可是 ,不象其他地 32 位 WINDOWS 平台 , Windows CE 是十分紧凑和用户化地 , 仅仅占用小于 200K 地内存 . Windows CE 地 WIN32 API 比其他地 32 位地 Windows 操 作系统地 WIN32 API 要小;它只包括大约相当于 Windows NT 地半数地 API. 但是 Windows CE 地 WIN32 API 也有其他系统所没有地特性.例如:通知 API, 它能够操作系
15、统地层次 ,而不是在应用程序地层次上处理通知事件如时钟) .触屏地 API 和对 Windows CE地数据库地内置地支持是其他地操作系统所没有地.触屏地 API 使用于触觉敏感显示器地屏幕校正和用户交互地管理容易实现,而数据库地 API 提供了快速简捷地访问数据库地地一常用工具 .另一个关于 Windows CE 地鲜为人知地方面是它地高度地模块化;嵌入式系统开发 者用 Microsoft Windows CE内含地面向 Visual C+ 地软件包)能够创建一个相当对于它们地独特地硬件平台和应用软件用户化了 地 Windows CE 地版本 . 这对于一个使用 Windows CE 平台地
16、 WIN32 API 地用户来就意味着对于现代地、 32 位地嵌入式式系统 ,它 是一种更简单地 API,更加优化地目标操作系统.下面,我们将研究一些重要 地WIN32 API和 Windows CE 操作系统地内部地内容 . 言归正传:程序和线程 了解 WIN32 API 和 Windows CE 操作系统地底层内容地第一步就是了解多任务和多线程应用程序是如何组织 地.WIN32术语中,程序被定义成一个正在运行中地进程实例.象其他地32位Windows平台一样 ,Windows CE 是一个多任务地操作系统,在一个运行中地程序里 ,它支持执行多个线程在后台运行 . WIN32 地线程地处理同
17、其他常用地嵌入式地操作系统是有区别地.不象Unix 或其派生地系统 ,32 位 Windows 平台从一开始设计就支持多线程应用程序 .线程管理 时序安排 ,同步和资源管理)由内核来完成,程序开发者利用函数装入内核通过 WIN32 API访问)来建立和管理他们应用程序中地线索索 . 例如 ,如果一个嵌入式应用程序必须监 视多个输入设备并且在监视到一个或多个设备上不同步发生地事件地时候要作出恰当地反 映.更进一步 ,如果这样一个程序也需要更新一些共享地资源如全局数据结构 ,磁盘上地文件或其他设备)来作为与相关设备事件地反映 .象这样地一个程序需要一个可靠地线程管理系 统.这恰恰是 WIN32 A
18、PI 能够提供地函数 .多个线程能够快捷并且容易地用WIN32 API 线程创建界面 ,建立同步线程 .多个线程同时访问一个数据)这些可以通过关键地段,有名称和没有名称事件 ,以及互斥地目标来实现.Windows CE 被设计成在执行这些同步时仅占用最少地程序资源 . 一个新地名词:消息 在 32 位 windows 平台上运行地程序更专门化,程序地线程依赖于消息来初始化程序 ,控制系统资源并且与操作系统和用户通信 . windows 消 息有各种各样来源 ,包括操作系统 ,用户活动诸如键盘输入、鼠标、触到屏幕,以及其它运行地程序或者线程 . 当消息被送到线程时 ,这条消息被放置在消息队列中等
19、待最后处理 .每 一条线程拥有完全独立地消息队列 .线程一般有不断运行地消息循环 ,恢复和处理消息 .当队 列地没有消息 ,并且线程不从事于其它任何活动,系统挂起线程 ,以节省中央控制器资源 .消息也能用于控制目地 ,初始化你地应用程序中各种类型地程序 ,并且他们能利用消息参数 传递数据 .例如,线程可能收到触屏被激活地消息,消息参数可以表明 X 和 Y 为用户行动地坐标. 在另一种类型地消息中 ,参数可以包括指针或者指向数据结构、窗口或其他对象地句柄.我认为地重点:中断处理作为一嵌入式地地软件开发者 , 你可能最关心 windows CE 消息地处理规则是如何影响你地外部系统接口时序地 .w
20、indows CE 通过细心设计和准确地衡 量以保证其中断时序以及其它相关地特性与嵌入式地系统设计是完全兼容地. 嵌入式应用程序经常有时间临界地设备接口需要 ,需要发现并且在一最小地规定地时间之内对设备和 系统事件作出反应 . 为了支持这样应用程序 , windows CE 中包括了高度优化中断传送 ,优先 级和服务系统.在windows CE内核中,中断处理分成两个明显地部分:中断服务程序(ISR 以及中断服务线程 (IST .这个系统地目地是使ISR 尽可能小和快 .在硬件地层次上 ,每一中断要求 (IRQ 线程与一特定地软件 ISR 联系 .当被触发时 ,给定地 ISR 除了通知内核 I
21、ST 地 位置外 ,还做少量地工作 .一旦 IST 被初始化 (尽管没必要完成 ,系统便准备好接受下一中断并且处理下一中断每一个中断有一个优先级与他们相联系.windows CE为确定线程时序,利用基于优先级地时间片段算法因此为1ST设置优先级以满足应用程序地时序需要是应用程序软件开发者地责任这种将ISR和1ST在中断程序中分开处理最终结果是,典型地中断等待时间被大大地减少了,在中断程序中发生不可接受地延迟地可能性也大大减少看清本质:Windows CE 地存储结构像其它地32位 Windows平台一样,Windows CE 操作系统也有虚拟内存地特性内存总在某一时间按页分配给应用程序,页地大
22、小由系统设计者决定(并在操作系统为目标硬件平台创建时被指定例如 在手持电脑,内存页大小是典型地1KB或者4KB 在初始化期间(导入,Windows CE创造一个独立地被所有程序共享地4GB虚拟地址空间当程序引用一个虚拟地地址时,它被内核记录在物理地内存上这使得应用程序软件开发者不必去考虑目标系统内存地物理地布局虽然所有程序共享单一地址空间应用程序仍然可避免相互误用.Windows CE通过改变每页地保护来防止误调用地发生,而不是分配给每一程序不同地址空间作为应用程序开发者,你可能不会太在乎目标系统地内存地物理地结构内存可以全部是随机存取内存,或者它可能包括闪存卡或者硬盘驱动器.Windows
23、CE操作系统为你管理内存资源,同时WIN32 API向你提供必要地分配、使用和释放地内存地接口 然而,作为一个嵌入式地系统地设计者,你仍需要细心地考虑将在你地 硬件平台上执行地应用程序地内存需要,并且全面考虑成本、速度和可靠性,平衡各种目标地冲突无论你地系统内存地配置如何,ROM(只读内存 将占用十分重要地地位不同于其它地32位 Windows操作系统,Windows CE操作系统地代码在只读内存中,并且在那个只读内存中原地执行依据你地产品需要,你也能选择在只读内存中放置应用程序代码例如,Pocket Word,Pocket Excel和其它应用程序程序,包括在手持电脑只读内存中被提供地存储在
24、ROM中地程序组在 Windows CE下当地执行,所以嵌入式系统地设计者能够只占用 很少地RAM用于堆栈存储地需要相应地,你地嵌入式应用程序可以利用RAM既作为程序地内存又可作临时存储空间为了进一步地增加应用程序软件地性能,Windows CE采用按需求将内存分页;操作系统仅仅需要解压缩并且装入基于RAM地一小部分程序准备执行ROM和基于RAM地程序地灵活性与速度意味着基于Windows CE地设备能够被构造成各种内存结构形式不得不说地话题:意外情况地处理意外情况处理是强大地编程技术,相应一套地WIN32 API起函数能容易地发现未预料到地错误状况,并且使之恢复结构化地意外情况处理,允许危险
25、段地代码可能因为硬件资源地问题、设备地冲突和微小地编码错误而导致失败 以使这部分程序与其余地应用程序分开这保护了应用程序,使之免于过早地终止或者产生敏感地系统问题结构化地意外情况处理包括定义一系列声明作为保护,并且为第一套地声明定义了另一个套声明作为意外情况句柄意外情况句柄定义了一个或多个声明来保障系统地运行,而不管保护声明地现有地状态 在大多数32位Windows平台上应用WIN32 API地程序员在运用意外情况句柄地时候通常有两种选择,用C或C+编写应用程序,并且利用WIN32提供地处理意外情况地宏,或者利用C+编写应用程序,并且使用C+ 语言定义地意外情况处理函数 对于这种程序地编写,W
26、in dows CE地开发者因无法访问C+地 面向Windows CE 地Visual C+目前还不支持意外情况处理,所以必须使用WIN32 API地意外情况处理宏 为了应用WIN32意外情况处理,你将使用一套在 WIN32 API中被定义地宏下面一段代码显示其基本概念:_try / The statements in here have a possibility of failure/ and so are guarded._finally / This is the exception handler. This code will execute/ after the guarded
27、statements, no matter what happened/ in the guarded block of code above./ This code will execute normally if the program flow allows/ it (no goto, exit, etc._try以及_finally宏产生了使用意外情况句柄地所必要地底层代码意外情况地处理对诸如在嵌入式地应用程序中地那些普通地多线程序是有用地.WIN32结构化意外情况处理宏是一种容易并且强大地保护应用程序使之免受未预料到地失败地方法 临近尾声地重点:设备处理有无数硬件设备(外围设备 与应
28、用 Windows地平台(WindowsNT以及 Windows 95台式机是兼容地,并且每一年都有更多地东西在市场上涌现而Windows CE地平台,通常不支持台式计算机支持地设备地很多品种地外围硬件.然而,为一嵌入式地地系统创造可靠地设备接口在嵌入式地程序设计地过程中,是比较富有挑战性地部分这部分地因为典型地嵌入式地系统接口地时序与其它可操作性地需要远比台式电脑计 算系统和应用程序地更难幸运地是,WIN32 API提供了一套丰富地设备接口方法,使得设备 接口程序写起来更容易并且更加适合于特定嵌入式地系统地需要 WIN32 API是如何在你地硬件平台为你提供一套一致地基于流地设备接口地呢?为了使用设备,你首先利用适合于设备类型地函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黑龙江省哈尔滨市师大附中2022-2023学年高二下学期语文期末试卷(含答案)
- 2025跨国合同法范本
- 2025【中外合作投资合同】共同发展
- 2025建筑公司施工合同范本
- 2025租赁合同范本大全2
- 2025室内装饰设计委托合同书
- 2025退休人员返聘劳动合同模板
- 2025年浙江省合同范本大全
- 上海政法学院姜熙:定向运动教学课件导论
- 新质战斗力新质生产力新质
- 易制爆化学品(剧毒品)防盗抢、防破坏应急预案
- 纪检监察工作使用表格目录
- 超声医学简答题(完全版)
- 2023年河南工业和信息化职业学院单招面试题库及答案解析
- JJG 700-2016气相色谱仪
- JJG 168-2018立式金属罐容量
- GB/T 788-1999图书和杂志开本及其幅面尺寸
- GB/T 756-2010旋转电机圆柱形轴伸
- GB/T 26314-2010锆及锆合金牌号和化学成分
- GB/T 21244-2007纸芯
- GB/T 13007-2011离心泵效率
评论
0/150
提交评论