




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式操作系统Windows CE研究微软Microsoft 嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 嵌入式操作系统是支持嵌入式系统应用的操作系统软件,它是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。与通用操作系
2、统相比较,嵌入式操作系统在系统实时高效性、硬件的依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入式操作系统的出现,大大提高了嵌入式系统开发的效率,在嵌入式操作系统之上开发嵌入系统将减少系统开发的工作量,增强嵌入式应用软件的可移植性,使嵌入式系统的开发方法更具科学性。近年来,随着电子技术的不断进步,嵌入式系统开发己成为热点, Windows CE 是Microsoft 公司专门针对嵌入式产品领域开发的嵌入式操作系统,该系统是一种紧凑、高效、可伸缩的32 位的操作系统,主要面向各种嵌入式系统和产品
3、。它所具有的多线程、多任务、完全抢占式的特点是专为各种有很严格资源限制的硬件系统所设计的。它的模块化设计使嵌入式系统和应用程序开发者能够方便地加以定制以适应一系列产品,例如:消费类电子设备、专用工业控制器和嵌入式通信设备等的需要1。 Windows CE最大的好处在于界面的通用性,用户容易接收;同时,可以将Windows通用操作系统下的应用程序移植到嵌入式应用系统中。关于Windows CE的研究文献有许多,但是缺少从构建平台到网络应用的系统分析,本文从网络应用出发,深入研究Windows CE下如何实现TC
4、P/IP协议,这对嵌入式网络应用很有意义。 1 基于Windows CE的嵌入式系统的结构23 要进行嵌入式系统的应用开发,必须先建立一个开发平台。一个基于Windows CE 的平台由Windows CE 操作系统核组件、OEM 适配层(OEM Adaptation Layer ,OAL) 和设备驱动程序以及组成系统的硬件设备组成,图1为基于Windows CE平台的层次结构。
5、0; 从图1 中可以看出,一个基于Windows CE 的嵌入式系统可分为四个层次,从底层到上层分别是硬件层、OEM层、操作系统层和应用程序层。 图1 基于Windows CE的目标平台及其组件 硬件层是系统的硬件,包括微处理器和各种周边设备。OEM层是一个硬件抽象层,它提供了硬件和操作系统之间的接口,操作系统要访问具体的硬件就可以通过OEM层提供的API 进行访问,而不必直接与硬件打交道。操作系统层中有Windows CE 的组件,用户可以根据自己的系统的需要进行定制,选择
6、需要的组件,去掉不必要的组件,这样可以减小内存需求,使系统性能达到最佳。应用程序层是用户为特定的嵌入式系统开发的应用程序。 在操作系统层中,设备管理器提供对可安装设备的支持,允许在系统中安装诸如PC 卡存储器和调制解调器之类的设备已扩充功能,内核提供最基本的操作系统功能,例如进程调度、内存管理、进程通信等。图形、窗口事件处理模块将用户的击键、鼠标移动和控件选择转换为消息,传送给应用程序和操作系统来处理用户的输入。对象存储、文件系统、数据库和注理用户的输入。对象存储、文件系统、数据库和注册表提供存储数据的能力。
7、附加技术模块指由CE操作系统提供的一些可选择的专用功能模块,如Java语言支持模块、手写体输入识别模块等。用户界面模块为系统提供一个与PC 电脑上的视窗操作系统类似的图形化操作界面。对系统设计者而言,需要自行开发的是应用程序和直接与硬件有关的部分,包括硬件系统本身、OAL 、设备驱动程序。其中,OAL 是指建立在硬件设备与系统内核之间的一层代码,主要任务是为内核管理具体的硬件设备时钟、中断和实施电源管理提供支持。设备驱动程序负责支持操作系统对目标硬件的访问。OAL 和驱动程序都要针对具体的硬件设备编写。 一般
8、硬件设备制造商会为设备提供驱动软件支持,如果有专门为CE 系统编写的驱动程序,只需将其加入到操作系统的相应模块中就可用了。如果没有,则应根据厂商提供的驱动程序开发包编写。通常这些开发包总已经包含了完成各种硬件操作的标准代码,开发者的工作只是将其与相应的CE 系统API函数对应起来。在CE 系统中,所有涉及硬件的操作都通过调用相应的API 接口函数来完成,而OAL 和驱动程序就是要为这些API 函数提供支持,将其翻译为直接对目标硬件进行底层操作。通过这种方式,CE 系统将应用程序与具体的硬件设备进行了隔离,应用程序只需调用API 函数就可以实现对硬件的访问。这样,程序员在开发应用程序时就没有必要
9、编写任何直接针对硬件的代码,因此不必考虑具体的硬件特性,而应用程序也具有了不依赖于具体硬件设备的独立性。 2 Windows CE 中的网络通信协议 Windows CE的网络通信基于一个按层组织的网络堆栈1 (network stack) ,如图2所示。网络堆栈实际上是Windows CE 的一个组件,它络堆栈实际上是Windows CE 的一个组件,它负责对网络中的数据传输进行处理,将来自于应用程序的数据分解成若干小段,
10、并为每小段加上相关地址和段的分割信息,组成可以存贮转发的信息包(packets) ,信息包中的地址确保数据达到最终的目的端点。访问网络堆栈有如下三种方式:第一种是WinSock端口套接字方式。这是一个中间层的传输接口协议,WinSock 负责对建立的信息包的所有头信息细节进行处理, 但可以不管其数据格式。Windows CE 的网络通信都直接或间接地使用WinSock。采用IrDA 协议实现基于红外线套接字的客户/ 服务器网络通信是Windows CE平台的一个特色。第二种为WinInet API 方式。WinInet API是微软公司基于Win32 平台的互联网函数接口。Windows CE
11、 的WinInet API 对其进行了某些限制或扩展,它提供的高级数据协议除了常见的超文本传输协议HTTP 和文件传输协议FTP 外,还提供了对SSL的支持。API 方式避免了直接使用WinSock 访问网络的操作,简化了网络编程。第三种为CIFS 重定位器方式。Windows CE 通过对远程访问服务RAS 客户的支持,允许基于Windows CE的设备与远程主机建立连接。 3 Windows CE 中网络通信协议使用实例
12、 3.1 HTTP Windows CE提供了一个开发Internet 客户应用程序的工具集WinInet,与使用Socket 建立网络连接的方法相比,它简化了访问互联网络的操作细节。利用WinInet可连接到远程站点,访问HTML 页面,通过FTP 上传、下载文件或获取文件目录清单等。WinInet 的Windows CE版本类似于桌面平台上的WinInet ,但有两个重要的区别:一是在Windows CE 中,大多数callback 函数以同步方式处理,只有InternetRead 具有同步和异步两种操作
13、方式;二是Windows CE 默认支持Unicode 码,所有WinInet 函数都要求宽字符变量4。 通过WinInet 实现网络通信最常见的例子是利用HTTP 协议访问Internet 站点上的HTTP 页面。其处理过程与桌面平台上的情况一致: 1) 调用InternetOpen ,获取Internet 句柄; 2) 调用I
14、nternetConnect ,为给定站点建立一个会话句柄; 3) 调用HttpOpenRequest ,打开一个HTTP 请求句柄; 4) 调用HttpSendRequest ,发送一个指定的请求到HTTP 服务器; 5) 调用InternetReadFile ,从被HttpOpenRequest 所打开的句
15、柄中读数,下载信息; 6) 调用InternetCloseHandle ,关闭Internet 句柄。 3.2 远程访问服务RAS RAS 是一个用于连接远端设备的基于软件的多协议路由器,也称为RAS 客户,对于桌面主机,则称为RAS 服务器。RAS 应用程序常在设备端上执行,并通过PPP/ SLIP 与服务器连接。Windows
16、CE对RAS 客户提供了支持。尽管有许多标准的Win32 RAS 函数,但这里仅允许通过串行电缆或拨号Modem 建立点对点的连接。在Windows CE 环境下,RAS 电话簿项目中包含有建立RAS 连接的必要信息,Windows CE 将其存贮在注册表中。RAS 电话簿信息包括:拨打的电话号码(含国家和地区代码) 、当前连接的IP 地址、网络协议、用于建立连接的设备类型。用RAS 建立连接的步骤如下4: 1)确定呼叫的电话号码;如果该号码不在电话簿中, 则需要调用RasEnumEntries 函数查找。
17、 2)RasDial 建立连接; DWORD RasDial (LPCTSTR lpszPhonebook , / / 电话簿文件的路径和文件名指针 DWORD dwNotifierType ,
18、0; / / RasDial 事件的句柄类型 LPVOID lpvNotifier , / / RasDial 事件的句柄 LPHRASCONN lphRasConn
19、/ / 指向连接句柄类型变量) ;该函数的参数设置与桌面平台上的设置不同,要求将lpszPhonebook 设置为NULL ,dwNotifierType 设置为0xFFFFFFFF。 3)当会话结束时,用RasHangUp 终止连接。 DWORD RasHangUp ( HRASCONN hrasconn ) ; 3.3 WAP应用 通常
20、,Web Server需要在目标机中置入文件系统,但是,嵌入式系统往往会面临有限的存储资源问题,文件系统会增加系统负担。Windows CE的Web Server设计了一个Web页的格式编辑器,可以将Java,GIF,JPEG,PDF,TIFF,HTML,ASCII转换成标准C源文件,可以与其他的应用程序链接,Web Server就在一个虚拟的文件系统下访问这些文件。 在开发移动通信产品时候,需要用WAP协议,Windows CE提供了一个WAP的解决方案,开发起来非常方便。该协议栈可以支持任何标准的无线协议
21、,包括GSM、UDP、GPRS等,协议栈包括WAE、WSP、WTP、WTLS、WDP等3。见图3。 图3 WAP应用 此外,Windows CE还支持蓝牙协议、RFCOMM协议、SDP协议、L2CAP协议等。 4 基于Windows CE嵌入式平台创建 在硬件设计成功后,就需要创建一个基于Windows CE 的嵌入式平台,有了平台,用户就可以利用Windows CE 的开发工具在该平台上进行应用程序的开发。为了创建一个基于Windows C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自由落体运动与竖直上抛运动解题方法及其解题技巧
- 2025年特种橡胶传动带项目可行性研究报告
- 宁夏吴忠三中学2025年初三下学期开学质检英语试题含答案
- 浙江特殊教育职业学院《康复心理学》2023-2024学年第二学期期末试卷
- 兰州资源环境职业技术大学《摄影技术实验》2023-2024学年第二学期期末试卷
- 湖南应用技术学院《建筑设计二》2023-2024学年第二学期期末试卷
- 吉林省长春市汽车经济技术开发区第六中学2024-2025学年高三第三次适应性测试物理试题试卷含解析
- 吉林省吉化一中2025届3月高三月考物理试题含解析
- 山东师大附中2025年高三下学期第一次月考试题化学试题试卷含解析
- 云南弥勒市重点名校2025年初三5月月考(生物试题)试卷含解析
- 儿童太阳系知识科普课件
- 2024年全国中学生生物学联赛试题含答案
- 数独题目高级50题(后附答案)
- T∕CCT 002-2019 煤化工 副产工业氯化钠
- 学习通《商业计划书的优化》章节测试附答案
- 捐赠意向书模板
- “三会一课”记录表(样表).doc
- 效率提升--OPE和OEE
- 数与线的“爱恋”之美
- 除氟过滤器操作维护手册
- 县委办公室保密工作制度
评论
0/150
提交评论