浅谈嵌入式系统的开发利器─Windows CE操作系统

时间:2011-09-05

  嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

  嵌入式操作系统是支持嵌入式系统应用的操作系统软件,它是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入式操作系统的出现,大大提高了嵌入式系统开发的效率,在嵌入式操作系统之上开发嵌入系统将减少系统开发的工作量,增强嵌入式应用软件的可移植性,使嵌入式系统的开发方法更具科学性。近年来,随着电子技术的不断进步,嵌入式系统开发己成为热点。

  1 Windows CE系统简介

  Windows CE(以下简称CE)是美国微软公司专门为各种移动和便携电子设备、个人信息产品、消费类电子产品、嵌入式应用系统等非台式或笔记本电脑领域设计的一种32位高性能操作系统。它具有一个简捷、高效的完全抢先式多任务操作,支持强大的通信和图形显示功能,能够适应广泛的系统需求。CE操作系统的主要特点包括:

  ·兼容于微软公司的视窗(Windows )PC电脑操作系统,支持超过1000个常用的32位视窗应用程序接口函数(Win32PI),支持高分辨率真彩色显示,为应用软件提供了强大的运行平台。

  ·对硬件没有任何特殊要求,允许系统设计者根据所开发产品的要求自由选择硬件,同时提供广泛的硬件设备支持,包括通信接口、显示和打印设备、输入输出设备、音频设备、网络和存储设备等。

  ·支持多达数十种不同的32位微处理器芯片,包括intel和AMD公司的X86系列、摩托罗拉公司的powerPC、日立公司的SH3系列、东芝公司的MIPS系列以及PHILIPS、NEC公司的处理器产品等。

  ·采用模块化结构,配置灵活,运行时仅需很少的存储器资源,且是目前的可以从只读存储器中直接启动的32位操作系统,能够满足具有严格硬件资源限制的系统要求。

  由于其本身具有的出色性能,CE系统自1996年底面世之后,迅速在国外一代的工业和家用电子设备中得到了广泛应用。在美国,仅基于CE系统的掌上电脑产品销量就已超过了200万台。本文将从系统结构、硬件要求、设计开发和应用领域等4个方面对CE系统作全面的介绍。

  2 Windows CE的系统结构

  CE操作系统由一些独立的模块组成,每一个模块提供特定的系统功能,大的模块又可以分成为几个组件。这种组件式结构能使CE系统变得非常紧凑,仅需使用很少的硬件资源就可运行。主要的系统模块有四个,它们是:

  · 内核

  内核是整个操作系统的部分,它负责基本的操作系统功能,包括内存管理,进程管理和必需的文件管理。CE系统的内核继承了微软公司视窗操作系统的大部分出色性能,能够提供虚拟内存管理、进程调度、多任务管理、多线程管理以及中断处理、异常处理等系统级服务。CE系统强大的抢先式多任务处理机制允许多达32个独立的应用程序(即所谓进程)同时运行,而多线程机制又支持每个进程拥有自己下属的多个运行分支(即所谓线程)。这种多任务特性使CE系统非常适用于需要实时处理功能的嵌入式系统,它使应用程序能够同时运行几个分支以处理不同的突发任务。

  · 持久性存储模块

  持久性存储模块通过对CE系统中对象存储(object store)功能的支持,为用户和应用程序提供数据存储服务。对象存储包含三种类型:文件系统、CE数据库和系统注册表。文件系统使用文件分配表来管理用户安装或创建的可执行程序或数据文件,多支持9个FAT分区,并具有镜像处理和安全功能,能预防在掉电或其他紧急情况下丢失数据。数据库提供结构化的数据存储和访问功能。系统注册表用于存储应用程序需要快速访问的系统配置数据以及其它信息。

  · 绘图、窗口、事件子系统简称GWES

  GWES是用户、应用程序和操作系统之间的图形化操作界面,负责提供系统与用户之间的人机交互接口。GWES处理输入的方式是将按键、手写式输入装置的移动、菜单或按钮等控件的选择等用户输入事件转换为消息,然后再传递给应用程序;处理输出的方式是在显示设备或打印机上显示或打印窗口、图形、文本等信息。GWES的是窗口,所有的应用程序都需要通过窗口从操作系统中接收信息,而所有的输入事件都要经操作系统翻译为消息后通过窗口传递给应用程序。图1为GWES的结构。

  · 通信模块

  通信模块为运行CE系统的设备提供对多种通信硬件和数据传输协议的支持,包括串/并行数据端口、红外数据端口、电话应用程序接口以及网络通信协议。

  以上介绍的4个模块提供了主要的操作系统功能。除此之外,CE系统还有其它一些可选择的模块,包括:设备管理器和可安装型设备驱动模块、多媒体声音 支持模块、组件对象模型支持模块、系统外壳等。对于CE系统而言,每一个模块都提供一种完整的功能。在终的应用系统中,这些功能不一定都会被使用。CE系统不要求用户包含所有的功能,如果某项功能不需要的话,整个模块就可以被省略。

  这种基于模块和组件的结构使CE系统具有了高度的可伸缩性,它允许用户在设计自己的操作系统时自由选择需要的模块或组件。这样,系统开发者就能够方便地根据具体的硬件要求定制出合适的操作系统,使其中仅包含设备运行所必须的功能模块,从而不必为支持其它不需要的硬件或功能付出额外代价。通过采用这种方式,CE系统在支持目前市场上绝大多数硬件设备及接口标准的同时又保证了的灵活性和系统效率,因此能够适应广泛的用户系统的要求。

  3 Windows CE系统的硬件要求

  CE操作系统不需要任何特定的硬件结构,实际的硬件系统完全由用户根据需要自由设计。从理论上说,一台以CE系统为基础的设备必须有一个处理器,有内存及内部时钟以便处理进度,除此之外再没有其他的硬件要求。不过在实际应用中,每个系统都需要有周边设备才能完成其功能。如前所述,CE系统提供了广泛的硬件兼容性,支持几乎所有的外围设备、其它设备和网络设备。

  几种基于CF的操作系统配置与资源占用情况:

  系   统  包含模块 RAM/KByte ROM/KByte STACK/KByte

  MinInput 内核,文件系统,基本输入设备支持  27 352 2

  MinGDI   内核,文件系统,基本图形GWES,输入设备支持 711 670 19

  MinComm  内核,文件系统,通信模块,输入设备支持 119 1103 14

  H/PCUI   内核,文件系统,注册表,GWES,通信模 块,输入设备支持,图形外壳 857 1806 35

  可以看出,相对于它强大的功能,CE操作系统对于硬件资源的要求非常低。

  4 基于Windows CE的应用系统开发与设计

  设计一个运行CE的嵌入式系统需要经过以下步骤:

  ⑴ 明确设计目的,确认系统功能,选择合适的微处理器芯片和周边设备;

  ⑵ 完成硬件平台的设计;

  ⑶ 选择CE功能模块,定制操作系统,并改编部分代码使之与硬件平台相配合;

  ⑷ 编写应用软件。

  典型的基于CE的嵌入式系统结构如图2所示。其中,设备管理器提供对可安装设备的支持,允许在系统中安装诸如PC卡存储器和调制解调器之类的设备以扩充功能;附加技术模块指由CE操作系统提供的一些可选择的专用功能模块,如JAVA语言(一种网络编程语言)支持模块、手写笔输入识别模块等;外壳模块为系统提供一个与PC电脑上的视窗操作系统类似的图形化操作界面。

  对于系统设计者而言,需要自行开发的是应用程序和直接与硬件有关的部分,包括硬件系统本身、硬件抽象层和设备驱动程序。其中,硬件抽象层是指建立在硬件设备与系统内核之间的一层代码,主要任务是为内核管理具体硬件设备的时钟、中断和实施电源管理提供支持。设备驱动程序负责支持操作系统对目标硬件的访问。硬件抽象层和驱动程序都需要针对具体的硬件设备编写。一般硬件设备制造厂商会为设备提供驱动软件支持,如果有专门为CE系统编写的驱动程序,只需将其加入到操作系统的相应模块中就可使用。如果没有,则应根据厂商提供的驱动程序开发包编写。通常这些开发包中已经包含了完成各种硬件操作的标准代码,开发者的工作只是将其与相应的CE系统API函数对应起来。在CE系统中,所有涉及硬件的操作都通过调用相应的API接口函数来完成,而硬件抽象层和驱动程序就是要为这些API函数提供支持,将其翻译为直接对目标硬件进行的底层操作。通过这种方式,CE系统将应用程序与具体的硬件设备进行了隔离,应用程序只需调用API函数就可以实现对硬件的访问。这样,程序员在开发应用程序时就没有必要编写任何直接针对硬件的代码,因此不必考虑具体的硬件特性,而应用程序也具有了不依赖于具体硬件设备的独立性。

  微软公司提供了专门的Windows CE平台编辑器软件来帮助开发者完成定制操作系统和编写硬件抽象层的工作。该编辑器是一个可以在PC电脑上运行的工具软件包,其中包含完整的带有集成开发工具的Windows CE操作系统,并附带了编程指南、应用程序接口(API)参考等资料和设备驱动程序工具箱。CE平台编辑器中还带有远程调试工具,只要硬件开发系统支持并留出调试端口,就可以将编辑好的操作系统从PC电脑中到硬件平台进行调试,并在PC电脑上观察系统的运行状态和内存资源使用情况等信息。

  由于CE操作系统支持1000多个与Windows 系统兼容的API函数,使在基于CE的嵌入式系统中运行的程序可以拥有与PC电脑中的程序同样复杂和强大的功能。此外,尽管编写CE系统的应用程序与编写PC平台的32位Windows 应用程序有一些区别,但其中进程、线程、视窗的概念以及API函数、资源、控件都与Windows 系统非常相似,因此任何具有Windows 编程经验的程序员都能够很容易地掌握CE编程。

  5 Windows CE系统的应用领域

  目前国外已经有大量基于Windows CE系统的设备面市,所涉及的领域包括家用电器、娱乐设备、专用计算机系统、便携电脑以及个人通信产品等。微软公司于1999年3月在中国深圳提出了维纳斯计划,其内容就是推广基于Windows CE系统的信息家电产品。目前已经有许多符合这一概念的产品面世,如美国国家半导体公司生产的便携式网络终端Wwbpad,能够随时与互联网连接,进行网络浏览和收发电子邮件。类似的产品还包括网络机顶盒和网络电话。在专用计算机系统方面,使用CE系统的有打包和邮件跟踪设备、超市收银机终端、数据采集设备、车载导航电子设备以及工业控制系统等。在便携电脑市场方面,运行CE系统的设备包括掌上电脑、个人商务通产品和车载移动电脑系统。掌上电脑是近几年兴起的新型便携信息产品,一般都配备笔输入装置,具有文字处理、电子记事和网络浏览功能,可以与桌面电脑进行对接交换数据,而重量不到传统笔记本电脑的一半。在国外,流行的掌上电脑操作系统有palmos和Windows CE两种,而国内则主要是中文Windows CE。常见的惠普、联想等公司的产品都使用了的中文CE2.11版本,其中还引入了汉王笔输入识别技术和金山词霸英汉双向翻译系统。在个人通信市场方面,已经有大量内置CE系统、能够进行网络访问和收发电子邮件的移动电话产品出现。

  总结以上介绍可以得出结论,由于CE操作系统具有强大的功能、广泛的兼容性、灵活的适用性、的硬件资源要求和完善的开发工具支持,因此是设计嵌入式系统的理想选择。21世纪将是人类社会全面走向网络化、信息化的时代,电子产品小型化、智能化、网络化的趋势已不可避免。面对这一浪潮,将先进的操作系统性能和强大的通信能力高度集成在一起的CE系统无疑具有美好的应用前景。



  
上一篇:嵌入式系统中的IIS音频接口技术
下一篇:存储I/O与物理定律的历史和未来前景

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料