admin管理员组

文章数量:1535374

2024年6月11日发(作者:)

维普资讯

20O2年第2期 

文章编号:1006 2475(2002)02 00"31-05 

计算机与现代化 

JiSUANJI YU XL ̄aNDMHUA 总第78期 

基于Windows CE 3.0的嵌入式系统开发 

刘少情、,吴慧中 ,王国中 

(1.南京理工太学计算机系,江苏南京210094;2上海广电技术中心,上海200233) 

摘要:介绍了微软的嵌入式操作系统Wit]dows CE 3.0的特性和新增功能,着重舟绍基于Windows CE 3 0的嵌入式系统 

的系统结构,井详细阐连了构建基于cE的嵌入式平台的过程,最后还简要说晴了如何在构建的平台上开发嵌入式应用 

程序。 

关键词:嵌入式系统;操作系统;嵌入式平台;嵌入式应用程序 

中图分类号:TIll1 52 文献标识码:A 

TheDevelopment ofEmbedded SystemsBased oilWindowsCE 3.0 

LIU Shao—qing。W Hui—zhong。WANG Guo-zhorLg ̄- 

.,

(1.Deparln ̄nt of Csltrtputer Science.N ing Etifversi ̄,of Science& l。 ,Nanjing 210094,cl1i眦 

2.SE ̄hai Broadcast and Television Techmlo ̄,Center,Shanghai 200233,China) 

Al ̄raet:Introdut*sthe newfeatur ̄and enhiu,ced capabilities ofMicrcsoft’s embeddedape ̄ing syMemWindowsCE 3.0,啊nl,IIa 躺 

the architet:tttre f oenE ̄ded sy:qems based ON Windows CE 3 0.details process fo cre g a CE—based ertdc ̄dded plmf rm,and ifnal— 

ly show ̄h m develop embedded applications Olfl the created platform. 

Keynote:emhixHed system;operating system;embedded山floral;embedded application 

0引言 1 Windows CE 3.0的特性 

Windows CE3.0提供了增强的Windows兼容性, 

并提供硬件实时处理支持。新的内核服务,例如嵌套 

式的中断、更好的线程响应、新增的任务特性、信号量 

等,使得操作系统能对事件和中断立即响应。这些实 

时特性使得Windows CE 3.0是诸如机器人、测试测量 

Windows CE是Microsoft公司专门针对嵌入式产 

品领域开发的嵌入式操作系统,该系统是一种紧凑、 

高效、可伸缩的32位的操作系统,主要面向各种嵌入 

式系统和产品 它所具有的多线程、多任务、完全抢 

占式的特点是专为各种有很严格资源限制的硬件系 

统所设计的。它的模块化设计使嵌入式系统和应用 

设备和可编程逻辑控制器等工业应用的理想选择。 

由于具有更强的存储和文件处理能力和进程间 

通信及网络支持,使得Windows CE3.0与基于Mi. 

crosoft Windows NT和Mic ̄soft Windows2000的桌面环 

程序开发者能够方便地加以定制以适应一系列产品, 

例如:消费类电子设备、专用工业控制器和嵌入式通 

信设备等的需要 windows CE 3.0是Microsoft在CE 

的前几版的基础上针对市场的需求推出的又一个增 

强的版本,它在内核、实时性和网络支持等方面做了 

很大的优化和增强,同时还为基于Windows CE的嵌 

入式系统的开发提供了更加强大的工具,加速了系统 

的开发过程。 

境之间的互操作变得更容易,这使得Windows CE成 

为那些将小型的移动系统和高性能的桌面服务器和 

工作站集成在一起的工业系统的最优选择。 

Windows CE 3.0包括一系列离散的模块和子模 

块,或者说是组件,每一个模块都提供对操作系统的 

主要特性的全部或部分支持。通过选择一个最小系 

收稿日期:2001 08 o6 

作者简介:刘少情(1976-),男,江苏南京人.南京理工大学计算机系硕士研究生、研究方向:计算机应用技术、网络通信、嵌 

人式系统。 

维普资讯

计算机与现代化 2OO2年第2期 

列的模块和组件.一个设备制造商可以设计出一个为 

满足特定设备需求而裁剪的操作系统。通过控制操 

作系统的大小.原始设备制造商(OEMs)可以设计出 

高速和高效的系统,但仍然提供32位操作系统的性 

能,包括抢先式的多任务,多线程系统和为开发应用 

程序提供最大的API集台。 

应用程序开发者将对Windows CE 3.0对Mi. 

emsoft AcfiveX控件、消息队列(MSMQ)、组件对象模型 

(COM)接口、活动模板库(A.I1_)和FSIC库的支持非常 

感兴趣 Actix,eSync提供了桌面系统和嵌入式设备之 

间的很容易的连接 而不管这种连接是通过串行连 

接、红外接口还是网络电缆建立的。Windows CE中 

有固化的对多媒体(包括Microsoft DirectX)、通信 

(TCP/IP.SNMP.TAPI和其他更多的)和安全的支持 

Windows CE 3.0中还包括许多集成的应用程序,包括 

Pocket Internet Explorer.Pockd Outlook和Pocket Word 

输出对象,它们允许用户扩充和定制已经存在的操作 

系统,可以扩充用户自己应用程序的功能。下面对 

Windows CE3.0主要的新增特性加以简单的说明。 

1.1实时性支持 

作为一个嵌人式操作系统,是否能够提供好的实 

时性是这个系统能否占领市场的一个重要方面。Ⅵi— 

crosoft自从推出Windows CE以来.一直就很注重在实 

时性方面的增强.Windows CE 3.0中在实时性方面做 

了下面的改进 ①对嵌人式中断的支持;在Windows 

CE3.0中增加了对嵌人式中断的支持.这使得具有高 

优先级的中断能够立即得到服务,而不用非得等待低 

优先级的中断服务完成之后才能得到服务 ②更好 

的线程响应:高优先级中断服务线程(Interrupt Service 

Threads,ISTs)的调度延时上限已经缩短了,线程响应 

的增强使得开发者能够具体地知道线程的切换在什 

么时候发生,从而有助于通过增强监控和控制 n. 

dows cE中的硬件的能力而创建新的嵌人式应用程 

序 ③更多的优先级别:Windows CE 3.0提供了256 

个优先级(在2.12版本中是8个),这使得开发者在 

控制嵌入式系统的调度时更加灵活 Windows CE 3.0 

具有控制系统中任意数量的线程的能力允许用户对 

调度器拥有更大的控制能力。 

1.2内核服务 

在内核服务方面.Windows CE 3.0做了很大的优 

化,提供更多的内核服务 支持在板调试,在Win. 

dows CE 3.0中硬件辅助的调试使得可以在操作系统 

内核运行之前进行oAL(oEM Abstract L ̄yer)的调试, 

从而简化了OAL的调试过程。在Windows CE3 0中 

可以多个现场运行(execute—in—piaoe,XIP)区域;提供 

事件跟踪函数,从而使平台开发者可以跟踪事件并提 

高系统性能;可以允许或者禁止ROM(read.only-mere. 

ory)和对象存储的压缩;提供通用的可执行格式的组 

件.这使得相同的应用程序在不需要重新编译的情况 

下可以在多种CPU上运行;支持完全内核模式,在这 

种模式下所有的线程多运行在内核模式中,从而使系 

统性能得到优化;支持信号量和内核级的安全机制。 

1.3对象存储 

WindoWS CE3 0支持更大的数据存储系统,并支 

持更大的文件 在Windows CE 3.0中对象存储区的 

大小增加到256MB(在Windows CE2.12中是16MB); 

单个文件的大小可以达到32MB,而数据库卷的大小 

可以达到256MB;对象存储区中所能容纳的对象的数 

量从2 个增加到2 个。 

1.4通信 

随着lntemet的发展,网络可以说是无所不在,很 

多嵌人式系统都要与Intemet或者是其他的网络或设 

备相连,Windows CE 3.0提供了强大的通信功能,使 

得它成为在需要网络连接的嵌入式系统的OS理想 

选择。Windows CE3.0支持TMPI2.1,支持使用TAPI 

来建立呼叫然后将通过PPP或者SLIP管理数据的 

RAS(Remote Access Server)客户机,还提供简单网络管 

理协议(SNMP)支持。Windows CE 3.0提供增强的 

TCWIP支持并提供具有安全特性的Winlnet组件,In. 

1erne!应用程序用它来访问Ⅲ rP和兀lP服务器。在 

Windows CE 3.0中还提供Web(HTrP)J ̄务器支持,为 

红外通信提供的IrDA协议,支持CIFS重定向器和串 

行通信。 

1.5进程间通信服务 

在Windows CE 3.0中,有两个独立的COM模块 

分别提供了两个不同级别的COM支持:一个是有限 

功能模块,小内存需求的模块,它提供进程间调用和 

自由线程(free—threadi )模式;另一个是功能模块,它 

支持进程外的调用和DCOM。DCOM模块,除了安全 

接口外,是完全与Windows NT4 0版本,SP5完全兼容 

的。另外在Windows CE3.0中增强的USUq提供消 

息应用程序的独立客户机支持。Windows CE的 

MSMQ是与Windows NT、Windows 98和Windows 2000 

完全兼容的。 

1.6用户界面服务 

在用户界面方面Windows CE 3.0提供了许多与 

普通P(=机类似的功能。例如支持与分辨率无关的 

控件和对话框,Active)[控件, ̄rlpt、HTML4.0和 

维普资讯

2OO2年第2期 刘少情等:基于Windows CE 3 0的嵌入式系统开发 33 

DHTM;支持GIF、JPEG、BMP格式的图像文件;支持4O 

位和128位的SSL(Secure Sockets L ̄yer),离线浏览和 

Windows CE Java虚拟机等。 

册表提供存储数据的能力。附加技术模块指由CE 

操作系统提供的一些可选择的专用功能模块,如Java 

语言支持模块、手写体输入识别模块等;用户界面模 

块为系统提供一个与P(==电脑上的视窗操作系统类 

2基于Windows CE 3.O的嵌入式系 

统的系统结构 

要进行嵌入式系统的应用开发,就必须先建立一 

个开发平台,一个基于Microsoft Windows cE的平台 

由Windows CE操作系统核组件、OEM适配层(OEM 

Adaptation Layer,OAL)和设备驱动程序以及组成系统 

的硬件设备组成,图1给出了典型的基于Windows CE 

的平台的层次结构。 

[二 三三 二] 

T ”  l

图1 典型的基于Windows CE的平台层次结构 

从图1中可以看出,一个基于Windows CE的嵌 

入式系统可分为四个层次,从底层到上层分别是硬件 

层、OEM层、操作系统层和应用程序层。 

硬件层是系统的硬件,包括微处理器和各种周边 

设备。OEM层是一个硬件抽象层,它提供了硬件和 

操作系统之间的接El,操作系统要访问具体的硬件就 

可以通过OEM层提供的API进行访问,而不必直接 

与硬件打交道。操作系统层中有Windows CE的组 

件.用户可以根据自己的系统的需要进行定制,选择 

需要的组件,去掉不必要的组件,这样可以减小内存 

需求,使系统性能达到最优。应用程序层是用户为特 

定的嵌入式系统开发的应用程序。 

在操作系统层中,设备管理器提供对可安装设备 

的支持,允许在系统中安装诸如P(==卡存储器和调制 

解调器之类的设备已扩充功能;内核提供最基本的操 

作系统功能,例如进程调度、内存管理、进程通信等 

图形、窗口事件处理模块将用户的击键、鼠标移动和 

控件选择转换为消息,传送给应用程序和操作系统来 

处理用户的输入。对象存储、文件系统、数据库和注 

似的图形化操作界面。 

对系统设计者而言,需要自行开发的是应用程序 

和直接与硬件有关的部分,包括硬件系统本身、OAL、 

设备驱动程序。其中,OAL是指建立在硬件设备与系 

统内核之间的一层代码,主要任务是为内核管理具体 

的硬件设备时钟、中断和实施电源管理提供支持。设 

备驱动程序负责支持操作系统对目标硬件的访问。 

OAL和驱动程序都要针对具体的硬件设备编写。 

般硬件设备制造商会为设备提供驱动软件支 

持,如果有专门为cE系统编写的驱动程序,只需将 

其加入到操作系统的相应模块中就可用了。如果没 

有,则应根据厂商提供的驱动程序开发包编写。通常 

这些开发包总已经包含了完成各种硬件操作的标准 

代码,开发者的工作只是将其与相应的CE系统API 

函数对应起来,在cE系统中,所有涉及硬件的操作 

都通过调用相应的API接口函数来完成,而OAL和 

驱动程序就是要为这些APl函数提供支持,将其翻译 

为直接对目标硬件进行底层操作。通过这种方式, 

cE系统将应用程序与具体的硬件设备进行了隔离, 

应用程序只需调用API函数就可以实现对硬件的访 

问,这样,程序员在开发应用程序时就没有必要编写 

任何直接针对硬件的代码,因此不必考虑具体的硬件 

特性,而应用程序也具有了不依赖于具体的硬件设备 

的独立性。 

3创建基于Windows cE的嵌入式平 

厶 

口 

在硬件设计成功后,就需要创建一个基于Win— 

dows CE的嵌入式平台,有了平台,用户就可以利用 

Windows CE的开发工具在该平台上进行应用程序的 

开发。 

为了创建一个基于Windows CE的平台.首先需 

要选择一个Windows cE OS配置,安装或创建一个 

OAL和设备驱动程序,创建一个基于你的配置的0s 

映像文件,并开发一个将映像文件传输到目标设备的 

引导程序。图2显示了创建一个基于Windows CE的 

平台的步骤。 

3.1平台的配置 

为了配置一个基于Windows CE的嵌入式平台, 

选择一个Windows CE OS配置,然后加入一个OAL和 

维普资讯

计算机与现代化 20O2年第2期 

设备驱动程序。你可以创建你自己的OAL,使用~个 

预先配置好的BSP(Board Support Package)或者创建你 

自己的BSP。一个BSP包含一个OAL、设备驱动程序 

和定制的硬件缺省的组件列表。Microsoft Windows CE 

Platform Builder3 0中包含有CEPC(CE—base PC)的 

BSP和HitachiDg000硬件开发平台(ODO),系统开发 

者也可以根据需要开发自己的BSP或者利用第三方 

开发好的BsP。 

图2创建一个平台的步骤 

所创建的平台的Windows CE组件依赖于你所选 

择的Windows CE OS配置。用户可以创建一个仅包 

含内核支持的操作系统,也可以创建一个包含复杂的 

图形用户界面(GUI)和预装了许多应用程序的系统, 

或者是介于两者之间的系统。PlafformBulider3.0给出 

了几个预先配置的操作系统,表1给出 这几个 

WindOWS CE OS配置的简短描述 

表1几种缺省的Whlttows CEOS配置 

配 置 描 述 

MJnkem Wi『1d s CE的最小版本 

鲁孳用户输^和本地设备驱动程序支持的啪nd s cE 

n一 支持串行通信和网络的 nd ws cE版本 

Min ・ 支持图形设备接口(GⅢ)的 『1dows衄版本 

M】n n 支持窗口管理的WbKIows CE版本 

Nimhdl 辇任务管理和命令处理器的几乎完全的 nd~cE 

Max ̄II 完全的 ̄ndows CE版本 支持通信程序 

Immp]e cM

ic

演ros示eft

In

奉t ̄e Exp 一 谢览器组件的 一 

用户可以定制自己的Windows CE操作系统,或 

者利用第三方定制的Windows CE操作系统,以满足 

特定平台的要求。 

3.2平台定制 

定制一个基于Microsoft Windows CE的平台涉及 

到使用第三方的Os配置中的核心组件、添加或删除 

组件,将平台按照目标平台定制,添加一个BSP,创建 

个OEM适配层OAL,并且创建一个引导程序。 

在典型的平台创建过程中,可以先创建一个基本 

的os映像文件,将它下载到Hitachi D9000硬件开发 

平台或Windows CE基于Pc的硬件开发平台CEPC, 

然后在目标硬件平台上进行修改和调试 

在修改和调试平台的过程中,可以通过增加和删 

掉某些组件来定制目标平台。用户可以添加一个由 

Platform Builder提供的组件,并且可以添加自己创建 

的组件,这些组件也称作用户组件。 

用户可以创建的组件包括应用程序,象设备驱动 

程序之类的动态链接库,静态库和一个传输层。一个 

设备驱动程序连接os和一个设备,使os可以识别设 

备并将设备的服务提供给应用程序。传输层是用作进 

行主机和一个相连的设备进行通信的。如果要导出自 

己定制的软件开发包SDK,就需要用到传输层 

当平台的修改和调试在硬件开发平台上完成后, 

就可以调整它以适合自己的目标设备。在能够将0s 

映像文件下载到目标平台前还必须创建一个启动引 

导程序和一个OAL.利用启动引导程序将Os文件代 

码等下载到目标设备。 

3.3创建OAL 

个OEM适配层(oAL)是介于Wmdows CE内核 

和目标设备的硬件之间的一层。这一层为目标设备 

与基于Windows CE的操作系统之间的通信提供了方 

便。 

用户可以通过实现操作系统内核和诸如串行口、 

并行13、以太网硬件和定时器等硬件设备之间的通信 

功能来创建一个OAL。OAL也包括硬件中断处理和 

电源管理接口以及系统启动时的硬件检测和初始化。 

旦OAL设计完成,用户就可以将它与内核静态连 

接。 

每一个目标设备的OAL体系结构可能大不相 

同,但是所有的OAL都具有让基于Windows CE的平 

台控制目标设备的核心系统硬件的功能。表2给出 

了创建OAL的几个阶段 

维普资讯

2002年第2期 刘少情等:基于WiMows CE 3.0的嵌凡或系统开发 35 

初始化内核 

在这个阶段中,完成创建( 之前的必要步骤,例如选定参考平台和设计Conifg.bib文件 这一阶段的目的是完成必要 

的资源配置描述,例如激处理器工作所需要的内存的布局。 

这个阶段主要完成启动时初始化平台,包括打开调试端口. 便进行谤试.韧始化通信环境.并且建立系统时钟周期。 

仓 建一个基奉的O61 这个阶段的目的是提供支持进一步调试的基奉系统初始化代码.保证基奉的初始化已经完成并且与目标平台的需求是 

致的 

增强的OAL功能 

存过一阶段,实现中断服务倒程(Is 】.管理时钟和定时器,并且为应用程序提供平台的信息。这个阶段的目的是完成 

平台支持功能的剩亲部分并确保完±的惦引导是可能的。 

在丝一阶段中,可 实现任何附加持性.洲如,可 创建13志进程.创建驱动程序开发包(叩K).定义扩展内存,支持高 

精崖的时钟井且配置注册袁 

寄 一小11AL 

~… 

3.4导出SDK 

台就可以在embedded Visual Basic 3.0和embeddedⅥ. 

sual C一3 0的平台列表中显示出来。选中该平台 

后,就可以进行其上的应用程序开发和调试。 

旦完成了平台的定制,就可以利用PJafform 

Builder来创建SDK,SDK为平台上其他应用程序的开 

发提供支持,SDK中包括Windows CE操作系统组件, 

硬件驱动程序等。一旦创建了SDK,就可以将它导出 

5结束语 

Windows CE 3 0作为一种嵌人式操作系统,既具 

有嵌人式系统所要求的实时性,内存需求小的特性. 

又具有PC机上的Windows系统的许多特性,它支持 

1000多个与Windows系统兼容的API函数,支持与桌 

面系统类似的友好界面。同时与windows CE 3.0一 

或者安装到别的计算机上,应用程序开发者可以将创 

建的SDK导人到Mircrosoft embedded Visual Balic3.0 

和hliero ̄ft ewt:,edde ̄Visual C~3 0,进行应用程序 

的开发、调试和运行. .

4嵌入式应用程序的开发 

为了方便基于Windows CE 3.0的嵌人式应用程 

序的开发、Miemsoti在推出Windows cE 3 0的同时, 

推出Microsoft em[ ̄dded Visual Basic3.0和Microsoft 

起推出了嵌人式Vc~3.0和VB3.0,给嵌人式系统 

应用程序的开发提供了极大的方便,可以缩短系统的 

开发周期。随着嵌入式系统的广泛应用和迅速发展, 

Windows cE 3 0必定会在工业界有非常好的应用前 

景 

embextded Visual C一3.0,这两个开发环境和PC机上 

运行的Visual Basic和Visual C~类似,熟悉VC或vB 

的开发人员根本不需要学习就可以进行基于Wjn. 

dows CE 3.0的开发 在这两个集成开发环境中,包 

含有许多Windows CE专用的标准开发工具,开发者 

参考文献: 

Microsoft Corporation.Introducing Microsoft Windows CE 3 0 

 

M]Microsoft Coq: ̄orafion,2001,1 

[2 M Corporation.Microsoft Windows cE 3.0 Operaitng 

in Mi. 

System Configurations【M .Microsotf Colporaifon,20(30,4. 

3]Microsotf Corp ̄ralion Building a Localized P1a 

可以利用这些工具来创建、测试和修改应用程序,同 

时也包括各种帮助开发者为特定的Windovrs CE平台 

和设备开发应用程序的工具。 

可以利用em[ ̄dded Visual Basic 3.0和embedded 

Visual C一3 0来创建运行于Hm ̄dheld PC Pm(H,Pc 

Pro)、掌中PC1.2和Pocket PC平台的应用程序,也可 

以创建运行于你自己定制的基于Windows cE的平台 

的应用程序。如果要创建运行于自己定制的平台上 

的应用程序,就要先用Platfom ̄Builder将平台的SDK 

导出.然后安装定制的SDK,安装完成后,所定制的平 

m∞面Windows CE Platform Builder 3.0[M.Microsoft Cor. 

potation,20(30、6. 

[4]D0 as Bolig PrnogrammingMicrasoft ̄ndows cE[M].Mi- 

cmsefi Plly ̄s.1998,10. 

:5 John Murca ̄,.Ir ̄ide Micrc ̄oft g,'indows cE[M].Microsaft 

Press,1998,9 

[6]彭飞,等嵌人式系统的开发利器一 

统[J]电子技术应用,2OOO(9) 

婀cE操作系 

本文标签: 系统支持硬件平台设备