第一章 引言

 

本书以深入浅出的方式,完整且详细的介绍微软嵌入式操作系统Windows CE。要对Windows CE有完整的了解,就必须先介绍嵌入式操作系统和嵌入式系统。本章首先介绍有关嵌入式系统的基本知识,然后简要地叙述嵌入式操作系统的基本特点。本章的后半部分论及微软嵌入式操作系统Windows CE的发展历史、特点以及有关Windows CE的市场应用的一些情况。最后介绍本书的章节安排。

嵌入式系统、嵌入式操作系统,Windows CE,以及嵌入式系统的应用市场,都处在一个快速发展的时期,本书只能从一个侧面反映这个领域的发展,特此说明。

1.1 什么是嵌入式系统?

在回答什么是嵌入式系统这个问题之前,我们需要简要地审视一下计算机应用发展的发展过程。早在微软创办之初,比尔·盖茨就曾梦想“每人桌上一台PC,每台PC中运行微软的软件”,这就是后来著名的“信息随手可得”的梦想。经过几十年的发展,在我们的日常生活中,微软为PC提供了出色的操作系统平台Windows 9x/NT/2000/XP,高效率的软件开发工具和功能强大而易用的通用软件Microsoft Office等,许多人的工作和生活从计算机技术中受益无穷。比尔·盖茨“信息随手可得”的梦想正在变成现实。

概要地说,当代计算机科学技术的迅速发展推动计算机的应用状况发生了根本性的变化。

首先,个人计算机已经占据了全球信息工业的绝大部分市场,其处理速度也远远超过了历史上大、中型计算机的指针。常见的计算机系统,不论是大型机、小型机、台式机还是微型机,都具有计算机的标准运作形态,即一套独立的、与其它装置分离的计算组件,以独立设备的典型面目出现,通过装配系统软件和不同的应用软件,应用在社会的各个方面,其典型产品为日常的个人计算机系统。

其次,随着计算机科学技术特别是微处理器技术的快速发展,计算机的运算速度越来越快、内存容量越来越大、体积越来越小、成本越来越低,性能越来越强,这就为将计算机技术应用到各个领域、嵌入到各种设备、装置、产品和系统中去,奠定了必要的基本条件。

这一切都似乎是在预示着一场新的革命,计算机继续其微型化和嵌入化的趋势,更广泛地进入人们工作、生活和娱乐的各个方面。这场革命又被近年来Internet的迅速普及所推动。一种计算机系统的新的形态开始出现,并且快速发展,这就是计算机的嵌入式应用。而整个嵌入式(计算机)系统不以独立装置或设备的形式出现,嵌入式(计算机)系统的大部分甚至是全部系统都隐藏在(嵌入)在各种设备、装置、产品和系统中。在我们的日常生活中,人们已经普遍使用者手机、PDA、手持和掌上计算机等信息设备来储存和处理各种重要信息,这些小型装置只是嵌入式系统应用正在迅速发展的一个证明。

嵌入式系统是不同于常见计算机的一种计算机系统,嵌入式系统不以独立设备的形态出现。嵌入式系统的组件根据主体设备以及应用的需要,嵌入在主体设备内部,发挥着运算、处理、储存以及控制等等作用。从体系结构看,嵌入式系统主要由嵌入式处理器、外围硬件和嵌入式软件组成。其中嵌入式处理器通常是单芯片或微控制器,一般是8位或16位,目前32位正在占据主流地位。外围硬件主要包括储存组件,如ROM、RAM、闪存(Flash Memory)等,通信组件,如USB 接口、网络接口等,显示组件,如VGA显示卡、液晶显示组件等、I/O接口,如RS232接口、键盘等等。不少嵌入式系统的外围硬件中还提供模拟信号与数字信号之间的转换组件。嵌入式软件包括支持硬件的驱动软件、操作系统、支持软件以及应用中介软件,如通讯协议、图形接口、数据库系统和浏览器等等。

12 嵌入式系统的发展历史

嵌入式系统已有30多年的历史,大致可以分为下列3个阶段。

l           早期的嵌入式系统通常是以单芯片为核心的系统,大部分应用于一些工业控制系统中。这种嵌入式系统,通常没有操作系统的支持,而是通过汇编程序执行系统的功能,一般具有与监测、伺服以及控制功能。其主要特点是:系统结构和功能都相对简单,成本较低。这种嵌入式系统已经不能适应现代工业控制和信息家电等领域的需求,正在逐步退出应用领域。

l           第二阶段是以嵌入式CPU为基础、以嵌入式操作系统为核心的嵌入式系统。随着嵌入式微处理器的发展,以及嵌入式操作系统设计开发水平的提高,这个阶段的嵌入式操作系统性能也不断提高。嵌入式操作系统能运行于不同类型的微处理器上;kernel小、效率高,具有高度的模块化和扩展性;可以提供多任务、多程序、多线处理,有各种设备支持、网络支持、图形窗口以及使用者接口等功能;向程序开发者提供大量的应用程序接口,开发应用程序相对简单。

l           第三阶段是以基于Internet为目标的嵌入式系统,目前正在迅速发展。进入90年代后,Internet的应用迅速普及,广泛深入到社会、经济、军事、交通、通信等相关行业,消费电子、计算机与通信一体化的趋势日趋明显。嵌入式技术再度成为一个研究的热门主题。

1.3 嵌入式操作系统基本概念

显然,嵌入式系统的应用环境与其它类型的计算机系统有着明显的不同,随之也带来了对相应操作系统的不同要求,从而构成了现代操作系统的一个新的类别:嵌入式操作系统。嵌入式操作系统是与应用环境密切相关的。从应用范围划分,嵌入式操作系统大致可以分为通用型的嵌入式操作系统和专用型的嵌入式操作系统。比较典型的通用型商业嵌入式操作系统有Windows CE、VxWorks和从Linux发展出来的嵌入式Linux;专用型嵌入式操作系统有专门用于掌上计算机的Palm OS、主要用于行动电话的Symbian等等。

根据操作系统的实时性能特性划分,嵌入式操作系统还可以分为实时嵌入式操作系统和一般嵌入式操作系统。实际上,由于嵌入式环境的需要,即使一般的嵌入式操作系统,也具有一定的实时功能。对于应用在军事武器、航空航天、交通运输以及工业控制等等特殊领域的嵌入式操作系统,要求其具有硬实时(Hard Real Time)功能。而一般应用在移动电话、掌上计算机和日常娱乐的嵌入式操作系统,至少也应具有处理语音、视讯影像等流媒体的软实时(Soft Real Time)功能。

从原理上看,嵌入式操作系统仍旧是一种操作系统,因此,它具有操作系统的基本功能,包括程序管理与处理器排程、储存管理、设备管理和中断处理等等。但是,由于嵌入式操作系统的硬件平台和应用环境与一般操作系统有很大的不同,所以嵌入式操作系统又有不同于一般操作系统的特点。一般而言,嵌入式系统的硬件平台有如下特点:

l           系统资源有限:微处理器(微控制器)指令较短,多数微处理器(微控制器)为8位、16位指令,目前在向32位发展;嵌入式系统储存空间有限,很多系统的储存空间在1兆位之内,有的没有外部内存;电能供应有限,一些嵌入式系统由于环境的原因只能采用电池供电。

l           外接设备多变:系统的输入输出设备以及被控设备千变万化,其种类和复杂性超过一般操作系统的外接设备;比如输入设备可能是键盘鼠标、触控板、笔式设备,也可能是速度检测信号或雷达信号等等。

从应用面看,嵌入式操作系统有如下特点:

l           占用系统资源要少:不少嵌入式系统本身资源有限。CPU运算速度不快、储存空间不大,不可能允许操作系统占据一大部分的资源。

l           实时响应要求严格:特别是在关键领域应用的嵌入式操作系统,比如从事飞机碰撞检测处理的系统,起着避免机毁人亡的关键作用,必须达到系统规定的硬实时规格。

l           对操作系统可靠性要求高:在关键领域应用的嵌入式操作系统不允许发生任何影响系统可靠性的故障,重新启动系统就可能意味着重大事故。

l           具有可配置性:由于嵌入式操作系统必须能够应用在多种多样的硬件环境,因此嵌入式操作系统要能够针对硬件系统的变化进行配置,从而满足不同应用的要求。

从原理上看,嵌入式操作系统的内部结构与其它操作系统的差别不大,但是实际结构和功能与其它操作系统有着较大的不同。以下列出几项嵌入式操作系统的特色:

l           小型化:在保证其应用功能的前提下,尽可能减小系统对资源的占用,由此作为出发点设计嵌入式操作系统的kernel结构和kernel的基本功能,如QNX的kernel仅提供程序排程、程序间通信、底层网络通信和中断处理等最基本的功能。

l           可定制性:嵌入式操作系统必须在能够提供可配置或可自订的kernel功能和其它功能。比如,在处理器排程或者任务排程方面,能够提供除round-robin (RR)排程之外的first-come-first-served (FCFS)排程等多种排程策略的选择。在储存管理方面,有的嵌入式操作系统不仅提供对ROM的管理,还提供对RAM内存和闪存的管理。在嵌入式操作系统中,根据应用需求的不同,有的系统提供各种档案系统供使用者选择,有的系统不提供档案系统,以减少系统的负荷。

l           实时性:实时的含义,不仅表现在系统完成了正确的任务,而且必须在既定的时间区间内完成该任务。针对不同应用的要求,嵌入式操作系统应有硬实时、软实时、非实时等不同实时级别的功能。对于有硬实时要求的嵌入式操作系统,其处理器排程、中断响应等等有关机制必须符合严格的时间要求,保证在规定时限之内完成对关键任务的处理。

l           高可靠性:嵌入式操作系统的结构,内部的系统组件或模块必须达到应用程序所必须的可靠性。对于关键应用程序,嵌入式操作系统还应提供容错和防故障等提高系统可靠性的功能措施。

l           可移植性:考虑到嵌入式应用产品具有产品更新快的特点,嵌入式操作系统必须能够支持多种国际主流微处理器等硬件平台。

为了提高系统的可移植性,嵌入式操作系统通常采用HAL (Hardware abstraction layer)和BSP(Board Support Package)的底层结构设计。HAL提供了与设备无关的特性,它遮盖了不同平台硬件的差异,向操作系统的上层提供了一套统一的接口。HAL隐藏各种与硬件有关的细节,保证了整个系统的可移植性。而一般由硬件厂家提供的,按照既定的程序规范完成BSP,保证了嵌入式操作系统可以在新推出的微处理器硬件平台上运行。微软的Windows CE系列嵌入式操作系统,WindRiver的VxWorks系列嵌入式操作系统,都是采用HAL和BSP底层结构设计的例子。目前国际主要的嵌入式操作系统可以支持的微处理器已经超过数十种,如VxWorks至少支持x86,68xxx,68HCxx,ColdFire,DragenBall,MIPS,SPARClite,ARM,StrongARM,PowerPC,NEC V25, i960, TI DSP等微处理器。

为了适合各种应用的需要,嵌入式操作系统在kernel之上提供了多种应用功能,如图形接口,网络通信与TCP/IP协议功能,多媒体处理功能以及其它各种功能。这些功能一般也采用可配置模块的形式,由系统开发者根据需要在系统生成阶段选定。

现代嵌入式操作系统与嵌入式操作系统的定制或配置工具联系密切,构成了嵌入式操作系统整合开发环境。在整合开发环境通常提供有程序代码编辑器、编译器和连结器、kernel功能配置与系统侦错器以及系统仿真器等等。程序代码编辑器提供在主机上对系统程序代码的程序编辑功能;编译器和连结器通常提供Ansi C、C++和其它程序设计语言编译和连结功能;kernel功能配置与系统侦错器提供程序开发者对kernel功能配置的功能以及各种侦错功能,如图形和命令行的侦错方式,各种断点设置、单步执行、异常处理,内存、寄存器、变量修改和反组译功能等等;系统仿真器则提供程序开发者一个仿真侦错的工具,以便使系统能够在接近真实硬件的环境下侦错和检验。

1.4  Windows CE发展简史

1.4.1起因

在个人计算机的年代,人们就已经设想一种可以随身携带的信息设备,这种设备的最先产品形态之一是掌上计算机。掌上计算机的出现,极大地改变了人们的生活、工作习惯,很多人彻底抛弃了传统的计算器、记事本、电话簿,在一些地方(比如美国的硅谷),掌上计算机的普及率甚至超过了行动电话,成为人们工作生活中的必备物品。

  提到掌上计算机,就不能不论及Apple公司,这个最具创新精神的公司在1993年发布了第一款掌上计算机Newton,这是世界上第一款没有键盘,使用手写笔来操作的掌上计算机,成为现代掌上计算机的雏形,不过,Newton最终以失败告终。

  1993年,Jeff Hawkins和Donna Dubinsky共同创立了Palm Computing公司,开始了掌上计算机的设计构想。1996年的4月,第一部PalmPilot掌上计算机Pilot 1000问世了,它使用的是Hawkins和Dubinsky自己开发的Palm OS 1.0操作系统,只有256KB内存。1997年,Palm Pilot的第二代产品问世。1998年,Palm发布了第三代掌上计算机Palm III。Palm III使用的是Palm OS 3.0操作系统,拥有2MB内存和2MB的Flash ROM,支持红外线传输。

Palm III取得了空前的成功,1999年底到2000年初,Palm公司又连续发布Palm Vx,、Palm IIIxe以及Palm彩色机型Palm IIIc,这三款机型目前仍是市场上的主流产品。2001年,Palm发布了第四代产品,Palm m500系列,内存为8MB,支持SD/MMC外部扩展卡,采用USB接口与PC相连,操作系统为Palm OS 4.0。

1.4.2 迎战

掌上计算机Palm的巨大成功,自然引起了产业嗅觉极其灵敏的比尔·盖茨的注意。微软公司在内部开始了“portable PC solution”项目,该项目的名称曾经有过多个名称,如Pulsar(脉冲星),WinPad和Pegasus(飞马),最后更名为Windows CE。

早期的项目开发有若干个小组,其中有的没有起飞就失败了。Pulsar组有两个不同的目标:支持set-top box和掌上计算机。有人打算使OS大些并且有更多的多媒体功能,而其它人则希望小些,另外一些人则试图改小NT。WinPad组则使用16位的Windows 3.1的子集进行开发。微软公司对于这种状态当然不会满意,最后,在Brad Silverberg资深副总裁领导下,Pegasus项目正式启动。

在Pegasus项目的开始阶段,对象导向OS的开发经历了挫折的考验,最后终于取得了成功,这就是1996年发布的Windows CE 1.0。随后有几款使用Windows CE 1.0系统的产品在市场上出现,称为Handheld PC。Windows CE 1.0外观很像Windows 95,这样做的最大益处是,使用者看到的是一个熟悉的接口,很容易接受它。这真是一个非常聪明的主意。整个Windows CE的发展过程,可参看图1。

图1 Windows CE 历史

Windows CE是一个全新开发的操作系统。只需要500 K的RAM,就可以把系统全部装下。最新版的Windows CE kernel只需200 K的运行空间。Windows CE是模块化的,OEM厂家可以加入自己所需要的任何模块,除去不需要的。比如,手机厂家就可以把触控板模块去掉,以节省空间。从某种角度上,Windows CE更像Windows NT,因为Windows CE程序可以在保护模式中运行在32 MB空间,最大可达2G字节空间。一个应用程序的故障不会引起整个系统失败。下表中以功能为区分,详细的比较了Windows CE 3.0, Windows CE 4.0, 和Windows CE 4.2的一些重要区别。

Windows CE性能改进比较

功能目录

Windows CE 4.2

Windows CE 4.0

Windows CE 3.0

应用程序发展环境

C++ Exception Handling

P

P

Full C Runtime

P

P

P

COM

P

P

P

DCOM

P

P

P

Minimal COM

P

P

SNMP协定

P

P

P

LDAP Client

P

P

MFC链接库

P

P

.NET Compact Framework

1.0

SQL Server CE版

2.0

1.0

MSXML

3.0

3.0

2.0

XML HTTP

P

P

P

标准应用程序

Adobe Acrobat

P

Microsoft Excel

P

Microsoft PowerPoint

P

Microsoft Word

P

FreeCell

P

P

Solitaire

P

P

Inbox

P

P

P

VoIP应用程序

P

WordPad

P

P

P

Windows CE性能改进比较

功能目录

Windows CE 4.2

Windows CE 4.0

Windows CE 3.0

系统与网络服务

Memory Mapped Files

P

P

P

电源管理装置

P

P

P

外围管理装置

P

P

P

防火墙

P

IPv6

P

TCP/IP

P

P

P

Wired LAN (802.3, 802.5)

P

P

P

Wireless AP (802.11)

P

Bluetooth

P

P

PPPoE

P

PPTP

P

P

P

RAS/PPP

P

P

P

档案与储存管理

CD/UDFS 档案系统

P

P

FAT档案系统

P

P

P

RAM & ROM档案系统

P

P

P

USB Smart Card Reader

P

P

P

PCMCIA Smart Card Reader

P

P

P

压缩

P

P

P

数据库支持

P

P

P

ATADISK

P

P

P

至于“CE”这个名字的来源,现在已经没有准确的历史档案可查。但是微软公司内部的人员普遍认为CE中的C代表了消费类 (Consumer)、袖珍 (Compact)、通讯能力(Connectivity)和伴侣 (Companion),而CE中的E代表了电子产品 (Electronics)。若把CE看作是计算机启蒙者(Computer Evangelism),也许更能充分反映微软从头设计一个全新的操作系统的意义。   

1.4.3 Windows CE的功能

       1.Windows CE的主要功能

  Windows CE的设计目标是:模块化及可延展性、实时性能好,通信能力强大,支持多种CPU。

  从操作系统内核的角度看,Windows CE具有灵活的电源管理功能,包括睡眠/唤醒模式。在Windows CE中,还使用了对象储存(Object Store)技术,包括档案系统、注册表及数据库。它还具有很多高性能、高效率的操作系统特性,包括视需要分页、共享储存、交叉处理同步、支持大容量heap等。

  Windows CE拥有良好的通信能力。它广泛支持各种通信硬件,亦支持直接的区域网连接以及拨号连接,并提供与PC、内部网以及Internet的连接,包括用于应用级数据传输的设备至设备间的连接。在提供各种基本的通信基础结构的同时,Windows CE还提供与Windows 9x/NT的最佳整合和通信。   

  Windows CE的图形使用者接口相当出色。它拥有基于Microsoft Internet Explorer的Internet浏览器,此外,还支持TrueType字体。开发人员可以利用丰富灵活的图形接口类别库在Windows CE环境下为嵌入式应用建立各种专门的图形使用者接口。Windows CE甚至还能支持诸如手写体和声音识别、动态影像、3D图形等特殊应用。   

Windows CE是一个多任务的操作系统,可以同时执行多个任务,并在他们之间来回切换,这其实就是Windows的简化版本,我们可以通过我们熟悉的Windows的操作方式来控制Windows CE,它也带有“我的文件”,也有很多软件如Pocket Word、Pocket Excel等等。

Windows CE同时内置了多媒体功能,通过Windows Media Player可以播放MP3,甚至是视讯回放。Windows CE具有可扩充的Compact Flash/MMC/SD插槽,通过扩充卡可以实现多种功能,例如网页浏览、无线接入或者增加更大的储存空间。

Windows CE .NET是Windows CE 3.0的后继产品。Windows CE .NET专为嵌入式市场设计,为快速建立下一代智能行动和小内存占用的设备,提供了一个稳固的实时操作系统。Windows CE .NET具备完整的操作系统特性和端对端开发环境,它包括了定制设备所需的一切功能,例如:连网能力、实时性和小内存体积占用以及多媒体和Web浏览功能。

       2.Windows CE的实时功能

实时操作系统(real-time operating system,简称RTOS)是完全的实时系统(包括硬件、操作系统和应用程序)的一部分,它必须满足特定的系统需求。RTOS必须提供足够的功能来满足系统的需求。尽管Windows CE操作系统以前的版本提供一些RTOS性能,但是自Windows CE 3.0以来,kernel的许多重大改变极大的增强了Windows CE实时性能。Windows CE 4.2 进一步解决了RTOS中常见位阶倒置(priority inversion)问题,使Windows CE更符合完全硬实时系统的要求。

1.5  Windows CE 的应用领域

Windows CE是一个具有先占式多任务功能,并具有强大通信能力的嵌入式操作系统。Windows CE是微软专门为信息设备、行动应用、消费类电子产品、嵌入式应用等非PC领域而全新设计的策略性操作系统产品。本节选择几种应用程序领域,介绍Windows CE 的应用情况。

1.5.1 PDA 市场

  微软希望PC消费者普遍使用安装Windows CE操作系统的PDA。但Windows CE 1.0版不支持手写识别,使用者必须靠键盘输入,操作非常麻烦。2.0版则对硬件要求很高,增加了使用者的成本。因此,在与Palm的初期较量中,微软并不占上风。

2000年,微软对使用Windows CE 3.0以后版本的设备进行了区分,针对PDA类的操作系统更名为Pocket PC。微软通过加强与各大硬件厂商的合作逐步进攻Palm操作系统及其终端产品的市场。截至2001年,微软已经占有PDA操作系统30%的市场占有率。

目前,在PDA市场中,已基本形成了微软与Palm对垒的局面。Palm阵营的产品致命的弱点是系统开放性差、应用程序有限、功能延展空间小;而微软阵营的产品因Windows CE操作系统开放性好、应用程序开发厂商众多、功能强大,而且与PC、甚至Internet的互动性强等优点,逐步占据了上风。

1.5.2 新一代手机操作系统

无线通信市场是一个巨大的市场。早在1999年7月,比尔·盖茨就曾试图与行动通信巨头诺基亚建立合作关系,但双方的谈判未能取得任何结果。相反,诺基亚与其它无线通信领域巨头闪电般地建立了Symbian联盟。但微软并未因此放弃。

微软公司一直从事着一个代号为“Stinger”智能电话开发计划的研究,将最好的PDA和最好的电话组合在一起,构建一个使用者能够随时随地保持智能性连接,通过语音、电子邮件或其它途径的平台。Microsoft智能电话平台向使用者提供不断更新的个人信息、电子邮件以及强大的Web浏览功能。该平台包含支持HTML、WAP(WML)和XML格式的Web浏览器。

微软在2002年推出了Pocket PC 2002软件平台,专门针对行动商务专业人士以及企业用户设计,强化了商务与沟通的功能,内建全中文化的Pocket Outlook等文字与图像处理软件,让中文用户能够通过网络及时获取企业内部信息,进行档案处理、企业简报以及共享数字影音信息。Phone Edition 建立在Pocket PC 2002 的基础之上,添加了数据和语音通信功能,在提供行动电话功能(包括语音通信和SMS文字消息)的同时,还增加了诸如Email、Web浏览和实时消息等迅速和容易的数据连接功能。

2002年微软推出了Smartphone 2002。Smartphone 2002是微软开发的新一代手机操作系统平台,这一智能电话解决方案把平台整合提升到一个新的层次,为手机使用者提供了语音、数据及多媒体功能,如:行动电子邮件和个人信息、强大的网页浏览功能、音讯视讯播放和分流以及丰富的游戏等等。由于使用彩色屏幕,使用者可以藉由无线网络下载各种丰富的图形、动画及游戏。Smartphone 2002软件通过与微软的后端服务器及服务相结合,成为行动商务人士以及公司用户利用小型行动电话实现行动服务和因特网浏览的主要平台。

行动设备是一种个人工具。有些人认为它应以语音为中心,他们觉得一部电话即可满足需要。另一些人则希望获得PDA所提供的数据处理能力。还有些人希望通过同一设备同时实现这两项功能,并要求这种设备应小到能够随身携带,同时又足以储存所需数据。 比功能电话稍大、却又小于Pocket PC的智能电话在同一设备中整合了语音及丰富的无线数据功能。智能电话首先是一部功能强大的电话,此外,它还为那些需要随时随地与重要时效性信息保持连接的使用者提供了大量在线和离线应用程序。

在无线网络上,当前存在着两种不同的观点。一种观点认为无线网络是现有因特网内容与服务的延伸,应该为使用者提供类似在PC上使用因特网的行动终端和操作接口。而另一种观点则认为使用者需要更为个性化的信息与服务,根本不需要、也不可能将现有因特网上过于泛滥的信息搬到无线网络上,无线网络上的信息与服务应沿着类似短信的模式发展。从使用者的角度看,第一种观点更具想象空间,而第二种观点则有些保守。当前,无线网络的数据传输速度正在不断加快,当无线网络的数据传输速度达到每秒几十K甚至更高的时候,使用者怎么还会满足于仅仅收发短信呢?

  微软是第一种观点的坚定支持者,而手机巨头们的保守态度,是否意味着传统手机厂家们最终将丢失行动终端市场呢?!目前,采用微软Smartphone 2002新一代手机操作系统平台的厂家逐渐增多,这些厂家基本上都是无线手机市场的后来者,他们正在和微软一起向传统手机的阵营发起了挑战。

1.5.3 工业控制

Windows CE在市场上被证明是工业控制领域的一种典型解决方案。它是把产品置于可靠软件和可靠硬件上的一个有效办法。Windows CE为设计单位、制造厂家和客户带来了收益。它降低了产品生存周期中各个阶段的成本,并且缩短了自定解决方案所需的进入市场时间。为了说明Windows CE在工业控制领域的作用,也许最好的方法是通过实际应用。这里介绍两个真实的例子。

1. 案例:变电站现代化平

同许多其它行业一样,电力行业同样面临着现代化的挑战。几乎所有变电站和发电厂中所使用的自动控制系统,都是由多年前所采购的各种互不兼容组件所构成的。电力公司往往从一系列不同厂商那里购买可程序化设定的控制器、远程终端装置、智能化电子设备(IED)、保护性中继设备以及其它各种设备。这些设备通常在工厂中通过不同协议进行互通并执行完全不同的功能。现在,电力公司发现,它们所面临的主要挑战在于,将所有这些组件融入到一个高效的整合解决方案中。

作为一家总部设在加拿大的Cybectec致力于开发电力行业所需的自动控制与SCADA(监视控制与数据采集)产品,以响应现代化需求并解决发电厂中所存在的互通性问题。

Cybectec建立了Substation Modernization Platform(变电站现代化平台,SMP),它是一种基于Windows CE、用以解决互通性问题的智慧化网关设备。借助Windows CE所提供的优越互通性,Cybectec创建出一种从多种数据源整合数据、监视变电站/发电厂运行状况、并与远程能源管理系统进行通信的设备。

从硬件角度来讲,SMP需要强大的处理能力和通信功能,以及大量储存空间。同时,它还需要一种通过精心设计的嵌入式系统,以便适应75万伏高压变电站中极端天气状况与强烈电磁干扰所形成的恶劣环境。SMP在Motorola MPC860T通信处理器上运行,包含16 MB RAM和16 MB ROM。SMP具备1个100/10 Mbps以太网端口、2个工业组件扩展模块、4个拥有RS-232D接口的高速同步/异步串行端口、1个中速RS-232异步控制台端口以及1个PCMCIA接口。此外,还可选配RS-422、RS-449、EIA 530或RS-485界面。该设备安装在坚固的钢制外壳中,足以经受发电厂中持续不断电磁干扰所造成的影响。

在硬件方面的问题得以解决后,Cybectec开始寻找一种能够不断适应新设备、新协议与新标准的灵活操作系统,一种必须在PC平台及嵌入式平台上运行的极为复杂的实时应用程序。促使Cybectec选择Windows CE的一个决定性因素在于,Cybectec的工程师非常熟悉这种操作系统中所使用的Microsoft Win32应用程序接口(API)。由于Windows CE与其它Windows产品间的程序开发相似性,在它们之间进行移植非常容易。它降低了产品生命周期中各个阶段的成本,并且缩短了自定解决方案所需的上市时间。

由于可以使用熟悉的工具,利用PC软件程序,获得受过良好培训的工程师可以轻松移植应用程序,因此,开发的成本得以显著降低,产品进入市场时间得以大大缩短。这种开放式平台使客户的产品更具竞争力。

由于SMP在发电厂中控制许多具有时效性的事件,因此,它需要一种能够提供精确时间控制能力的解决方案。Cybectec对多种其它实时操作系统进行了评估,但没有一种能够提供Windows CE操作系统中那样的延展性与扩充能力。

工程师在为通信组件撰写设备驱动程序的过程中广泛使用了基于Windows CE的开发工具。SMP大量使用了串行连接、广域网络、专用联机、局域网络和高速以太网联机。它不仅使用了多种来自不同制造商的专属协议,同时还使用了诸如TCP/IP和.25之类的标准协议。借助熟悉的Windows软件开发环境,Cybectec的管理层发现,他们可以从大量熟悉Windows程序的开发人员中选拔更多程序设计师。此外,Cybectec可以借鉴在Windows平台上针对其它应用程序所开发的现有软件产品,并充分利用针对Windows CE的广泛第三方厂商支持。鉴于Windows CE所提供的扩展能力,Cybectec计划在未来的产品型号中添加更多附加特性,其中包括快闪型储存磁盘、调制解调器、显示卡及使用内建PCMCIA接口的附加网络适配器。

2. 案例:食品安全装置

健康和安全标准对于食品行业来说是至关重要的事情,FMC FoodTech一个世纪以来一直是行业的领导者,它向食品加工业提供保证最高安全标准所必须的杀菌技术。为了保持技术发展的领先地位,FMC FoodTech选择了Windows CE作为 LOG-TEC Momentum系统的操作系统,这是他们的新一代杀菌控制系统。

LOG-TEC Momentum的新操作系统必须提供网络互通性,具有熟悉的使用者接口,而且可以轻松连接多种I/O设备,此外还应具有确定性和实时方式。在对可能性进行了考察以后,FMC FoodTech 认为Windows CE提供了运行LOG-TEC Momentum 所需的能力和弹性。

FMC FoodTech选择Windows CE的原因是公司需要一个实时操作系统。LOG-TEC Momentum必须在几毫秒内通过I/O设备对设备进行控制。它需要一个能进行工业控制所需的精确计时的操作系统。Windows CE提供的更富有吸引力的一个特性,是它的实时回应能力。Windows CE通过优先权来运行中断执行绪,并且以一种确定性的方式来处理输入资料,能对时间敏感的I/O刺激做出高速的响应和反应,

FMC FoodTech需要迅速地进入市场,所以公司决定利用Neptune Technologies公司的技术,该公司是一家外部的系统整合商和 Microsoft 承认的解决方案提供商。这使FMC FoodTech能将自身内部的热处理专家和系统控制设计专家与Windows程序开发专家结合在一起。也许Windows CE带来的最大好处是它能把LOG-TEC Momentum连接到种类众多的I/O设备上。I/O的扩展能力对于食品加工行业来说是特别重要的,因为它必须对杀菌过程进行跟踪和记录,以保证消费者买回家的食品的安全和质量能满足严格的国家标准。在极端的情况下,巨大的杀菌系统比7层楼还要高,而且带有500多个监视杀菌过程的I/O设备。

一片I/O PC 104卡使平台透过一个转换器具有了直接进行随插即用的必要条件,这使得可以从旧有系统上进行升级,而不需要重新为硬件接线。这种升级可能性照顾到了数千现有使用者的升级需要。FMC FoodTech 计划根据使用者的需要,在不同制造商制造的硬件上安装DeviceNet、Profibus、以及Ethernet I/O。这些设备是作为标准配置提供的,以让使用者能拥有各种各样的I/O选择。

撇开LOG-TEC Momentum的网络可连接性和可扩展性不谈,采用Windows CE的另一个主要优势是使系统进入了Windows环境,这使操作员操作起来更加容易了。每个人对Windows环境都已经很熟悉了。使用者一直在鼓励利用Windows CE向Windows环境转移,他们对能使用这个系统感到非常兴奋。

(说明:上述有关内容,均来源于微软公司的网站,读者如果想了解进一步的细节或更多的应用事例,请访问微软公司的网站。)

1.6 本书的组织

本书分为上篇、中篇和下篇三个部分,上篇为Windows CE结构分析,中篇为Windows CE情景分析,下篇为实验手册。每一篇又划分为若干章。上篇包含有引言,Windows CE体系结构,处理器排程,储存管理,档案系统和设备管理等六章。中篇包含有系统初始化,处理器排程过程,分页处理,档案处理和驱动器加载等五章。下篇包含有Windows CE应用程序开发,Windows CE系统开发,评测与总结以及实习等四章。

上篇的重点在于分析Windows CE kernel的结构以及工作原理。这个部分是掌握Windows CE操作系统的基础。

中篇重点在于分析Windows CE kernel的实际运行过程。如果说上篇是从静态的角度分析Windows CE kernel,那么中篇则是试图从动态的角度给读者一个有关Windows CE kernel的描述。希望读者能够通过对中篇的阅读理解,在头脑中形成有关Windows CE kernel的多方位的运作情景。

下篇着重于有关Windows CE的应用。对理论的掌握最终要应用到实务中。相信读者们会在Windows CE的应用中不断取得成功。

WinCE 编程实验(第一章 引言)相关推荐

  1. 机器学习(周志华) 第一章 引言

    第一章 引言 1.1引言 机器学习的定义: Machine Learning is Fields of study that gives computers the ability to learn ...

  2. 数据库系统概念总结:第一章 引言

    周末无事水文章,期末备考的总结资料 第一章 引言 数据库管理系统(DataBase-Management System,DBMS)由一个相互关联的数据的集合和一组用以访问这些数据的程序组成.这个数据集 ...

  3. Java7并发编程指南——第一章:线程管理

    Java7并发编程指南--第一章:线程管理 @(并发和IO流) Java7并发编程指南第一章线程管理 思维导图 项目代码 思维导图 项目代码 GitHub:Java7ConcurrencyCookbo ...

  4. 浙江大学pta答案python第四章_浙大PTA-Python题库 编程题第一章(1-1~1-3)题解

    其他各章题解链接如下 浙大PTA-Python题库 编程题第一章(1-1~1-3)题解 https://blog.csdn.net/zimuzi2019/article/details/1070206 ...

  5. 浙大PTA-Python题库 编程题第一章(1-1~1-3)题解

    其他各章题解链接如下 浙大PTA-Python题库 编程题第一章(1-1~1-3)题解 https://blog.csdn.net/zimuzi2019/article/details/1070206 ...

  6. 【人工智能简史】第一章 引言 —— 人工智能的概念与定义、发展背景及相关领域、意义与价值

    人工智能(Artificial Intelligence, AI)是当今科技领域中最具影响力和发展潜力的技术之一.从最早期的计算机程序到现在的深度学习和神经网络,人工智能已经取得了惊人的发展. 本文将 ...

  7. 数据库系统概论笔记(第一章 引言)—— 持续更新,争取每周更新一章

    第一章 引言 数据库管理系统(DataBase-Management System, DBMS)*是由一个相互关联的数据的集合和一组用以访问这些数据的程序构成.这个数据集合通常称为数据库(DataBa ...

  8. java多线程编程—高级主题_Java day20 高级编程【第一章】Java多线程编程

    [第一章]Java多线程编程 一.进程与线程 多个时间段会有多个程序依次执行,但是同一时间点只有一个进程执行 线程是在进程基础之上划分的更小的程序单元 ,线程是在进程基础上创建并且使用的,所以线程依赖 ...

  9. JavaScript DOM编程艺术第一章:JavaScript简史

    本系列的博客是由本人在阅读<JavaScript DOM编程艺术>一书过程中做的总结.前面的偏理论部分都是书中原话,觉得有必要记录下来,方便自己翻阅,也希望能为读到本博客的人提供一些帮助, ...

  10. minecraft编程java_第一章 minecraft编程mod

    本帖最后由 ggsshh 于 2017-5-16 11:05 编辑 [size=14.0000pt]第一章 [size=14.0000pt]minecraft编程mod[size=14.0000pt] ...

最新文章

  1. 喜讯不断,BCH又迎来两个代币发行方案
  2. hdu2604 矩阵快速幂
  3. Codechef Chef Cuts Tree
  4. 技术不牛如何才拿到国内IT巨头的Offer(转)
  5. php错误没有进入catch,php – 致命错误:没有try / catch块的未捕获异常
  6. 苹果正式推送iPadOS 13.1、iOS 13.1,修复大量Bug,速升!
  7. 机动车辆保费计算器 1.1新版发布
  8. python 进入E盘_anaconda python环境与原有python环境的坑
  9. 5个好用的搜索小技巧:搜索引擎的办法
  10. gbase数据库锁表解决办法
  11. Linux下Tomcat中文乱码解决
  12. Android JTT808协议通讯
  13. [项目管理-29]:SMART项目计划制定与PDCA闭环监控,珠联璧合,双剑合一。
  14. 微信小程序 加载 fbx 模型
  15. javascript基础常识问答(八)
  16. be [prove] a great boon to [for]
  17. matlab解方程组方法,第二章解线性方程组的直接方法matlab用法
  18. 【Android】安卓四大组件之内容提供者
  19. 我说我精通字符串,面试官竟然问我Java中的String有没有长度限制!?
  20. bash的特殊符号、变量和运算符

热门文章

  1. 教你如何修复硬盘及恢复硬盘丢失数据
  2. nodeJS版本升级
  3. [转]myip.cn-电影格式转换器www.sifangvideo.com
  4. 蓝桥杯java技巧总结
  5. amoeba-mysql主从复制配置
  6. linux内核空间和用户空间认识和区别
  7. 浅谈framework之InputManagerService
  8. python假分数约分_数学中假分数怎么约分
  9. 使用proxychains匿名浏览,清理痕迹(六)
  10. C语言操作Excel表格