嵌入式系统开发工具WindowsCE操作系统

摘要:本文从系统结构、硬件要求、设计开发和应用领域等方面详细介绍了美国微软公司最新的32位Windows CE操作系统。

1 Windows CE系统简介

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

·兼容微软Windows PC计算机操作系统,支持1000多个常用的32位Windows应用程序接口函数(Win32API),支持高分辨率真彩显示,为应用软件提供强大的运行平台。

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

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

· 采用模块化结构,配置灵活,运行时只需要很少的内存(RAM)资源,是目前唯一可以直接从ROM(只读存储器)启动的32位操作系统,可以满足需要严格的硬件资源 受限的系统要求。

由于其优异的性能,CE系统自1996年底推出以来,已广泛应用于国外最新一代的工业和家用电子设备中。在美国,仅基于CE系统的掌上电脑产品的销量就有突破200万台。 本文将从系统结构、硬件要求、设计开发、应用领域四个方面对CE系统进行全面介绍。

2 Windows CE的系统结构

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

· 核心

内核是整个操作系统的核心部分。 它负责最基本的操作系统功能,包括内存管理、进程管理和必要的文件管理。 CE系统的内核继承了微软Windows操作系统的大部分优秀性能,可以提供虚拟内存管理、进程调度、多任务管理、多线程管理、中断处理、异常处理等系统级服务。 CE系统强大的抢占式多任务机制允许最多32个独立的应用程序(所谓的进程)同时运行,并且多线程机制支持每个进程拥有自己的多个运行分支(所谓的线程) 。 另外,CE系统还允许每个进程有不同的优先级。 优先级较高的进程比优先级较低的进程拥有更高的使用系统资源的权限。 这种多任务特性使得CE系统非常适合需要实时处理能力的嵌入式系统。 它使应用程序能够同时运行多个分支来处理不同的突发任务。

· 持久化存储模块

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

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

GWES是用户、应用程序和操作系统之间的图形操作界面,负责提供系统和用户之间的人机交互界面。 GWES处理输入的方式是将用户输入事件(例如击键、手写输入设备的移动、选择菜单或按钮等控件)转换为消息,然后传递给应用程序; GWES处理输出的方式是将其显示在显示设备或打印机上或打印窗口、图形、文本和其他信息。 GWES的核心是窗口。 所有的应用程序都需要通过窗口接收来自操作系统的信息,所有的输入事件都必须被操作系统翻译成消息,然后通过窗口传递给应用程序。 图1显示了GWES的结构。

· 通讯模块

通信模块为运行CE系统的设备提供多种通信硬件和数据传输协议的支持,包括串行/并行数据端口、红外数据端口、电话应用编程接口(TAPI)和网络通信协议。 CE系统的网络功能非常强大,支持局域网(LAN)、传输控制协议/互联网协议TCP/IP远程访问服务RAS、互联网控制消息协议(ICMP)、超文本传输​​协议(HTTP)、文件传输协议 (FTP) 和所有其他流行的网络协议。

上面介绍的四个模块提供了最重要的操作系统功能。 此外,CE系统还有一些其他可选模块,包括:设备管理器和可安装的设备驱动程序模块、多媒体声音支持模块、组件对象模型(COM)支持模块以及系统外壳(Shell)等。 对于CE系统来说,每个模块都提供了完整的功能。 在最终的应用系统中,这些功能不一定会用到。 CE系统不要求用户包含所有功能。 如果不需要某个功能,则可以省略整个模块。

这种基于模块和组件的结构使得CE系统具有高度的可扩展性,允许用户在设计自己的操作系统时自由选择所需的模块或组件。 这样,系统开发人员可以根据特定的硬件需求轻松定制合适的操作系统,使其仅包含设备运行所需的功能模块,而无需支付额外的成本来支持其他不必要的硬件或功能。 通过采用这种方式,CE系统支持目前市场上绝大多数的硬件设备和接口标准,同时保证了最大的灵活性和系统效率,因此可以适应广泛的用户系统的要求。

3 Windows CE 系统的硬件要求

CE操作系统不需要任何特定的硬件结构。 实际的硬件系统完全由用户根据自己的需求进行设计。 理论上,基于CE系统的设备必须具有处理器、存储器和内部时钟来处理进度,但没有其他硬件要求。 但在实际应用中,每个系统都需要外围设备来完成其功能。 如前所述,CE 系统提供广泛的硬件兼容性,支持几乎所有外设、其他设备和网络设备。 为了进一步减少对内存资源的需求,CE系统采用了模块化设计,同时还大量使用了动态链接库(Dynamic-Link Library)。 许多函数都包含在动态链接库中,只有在应用程序需要时才可以使用。 加载到内存中,通常以文件的形式保存在内存中。

作为一个小型且灵活的操作系统,基于CE的系统所需的内存量完全取决于系统所选择的模块和组件。 表 1 列出了几种具有代表性的基于 CE 的操作系统配置和内存资源要求。 其中,MinInput代表最小输入采集系统,MinGDI代表最小图形系统,MinComm代表最小通信系统,H/PCUI代表掌上电脑用户操作系统。 表中,ROM列表示系统所需的永久存储空间,RAM列表示系统运行时占用的系统内存,STACK列表示系统运行时占用的数据存储空间。

表1 几种基于CF的操作系统的配置和资源使用情况

1.jpg/

可见,相比其强大的功能,CE操作系统对硬件资源的要求非常低。 一个只包含内核、通信端口、不需要显示功能的基本系统需要不到400K ROM和30K RAM才能运行,而完全配置的掌上电脑操作系统只需要大约2M ROM和1M RAM。 当然,最终的系统配置还必须考虑应用程序运行和用户数据存储的需求。

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

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

(1)明确设计目的,确认系统功能,选择合适的微处理器芯片及外围设备;

(2)完成硬件平台的设计;

(3)选择CE功能模块,定制操作系统,适配部分代码以匹配硬件平台;

(4)编写应用软件。

典型的基于CE的嵌入式系统结构如图2所示。其中,设备管理器提供对可安装设备的支持,允许在系统中安装PC卡存储器、调制解调器等设备,以扩展功能; 附加技术模块是指CE操作系统提供的一些可选的特殊功能模块。 如JAVA语言(一种网络编程语言)支持模块、手写笔输入识别模块等; shell模块为系统提供类似于PC计算机上的窗口操作系统的图形操作界面。

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

微软提供专门的Windows CE平台编辑器软件来帮助开发人员定制操作系统和编写硬件抽象层。 该编辑器是一个可以在PC上运行的工具软件包。 它包含完整的Windows CE操作系统和集成开发工具,并附带编程指南、应用程序编程接口(API)参考以及其他材料和设备驱动程序。 工具箱。 用户可以使用操作系统编辑器、汇编编辑器和优化的Visual C++编辑器进行开发,将最终的操作系统编译成处理器芯片可以识别的二进制代码文件,以便在目标系统中使用。 CE系统除了启动和初始化部分外,其他部分都可以直接以文件的形式存储。 CE平台编辑器还附带远程调试工具。 只要硬件开发系统支持并留有调试口,就可以将编辑好的操作系统从PC下载到硬件平台上进行调试,并在PC上观察系统。 运行状态、内存资源使用情况等信息。

由于CE操作系统支持1000多个与Windows系统兼容的API函数,因此在基于CE的嵌入式系统中运行的程序可以具有与PC计算机中的程序一样复杂而强大的功能。 微软提供了专门用于编写CE程序的Visual C++和Visual Basic附属工具包和CE平台模拟器,让程序员可以直接使用这两种熟悉的编程语言在PC上的CE系统中编写和调试程序。 。 另外,虽然为CE系统编写应用程序与为PC平台编写32位Windows应用程序存在一些差异,但进程、线程、窗口、API函数、资源和控件的概念与Windows系统非常相似,因此任何人具有Windows编程经验的程序员可以轻松掌握CE编程。

5 Windows CE系统的应用领域

目前,国外已推出大量基于Windows CE系统的设备,涵盖家用电器、娱乐设备、专用计算机系统、便携式计算机、个人通信产品等领域。 微软于1999年3月在中国深圳提出了维纳斯计划,其核心内容是推广基于Windows CE系统的信息家电。 目前已经有很多符合这一理念的产品,例如美国国家半导体生产的便携式网络终端WebPad,可以随时连接到互联网,进行网页浏览和收发电子邮件。 类似的产品包括互联网机顶盒和网络电话。 在家庭娱乐市场,日本世嘉公司于1998年底推出了运行CE系统的Dreamcast TV游戏机,其强大的处理器运算能力和图形能力甚至超过了台式电脑产品。 除了玩游戏,它还可以玩游戏。 DVD、浏览互联网或运行基于CE系统的应用程序。 在专用计算机系统方面,CE系统应用于包装和邮件跟踪设备、超市收银终端、数据采集设备、车辆导航电子设备、工业控制系统等。 在便携式计算机市场中,运行CE系统的设备包括手持计算机、个人商务产品和车载移动计算机系统。 掌上电脑是近年来出现的一种新型便携式信息产品。 它们一般配备笔输入设备并具有文字处理、电子笔记和网页浏览功能。 它们可以连接到台式电脑交换数据,而且重量还不到传统笔记本电脑的一半。 在国外,流行的掌上电脑操作系统是Palm OS和Windows CE,而在中国,主要的操作系统是中文Windows CE。 惠普、联想等公司常见产品均采用最新中文CE2.11版本,其中还引入了汉王笔输入识别技术和金山词霸英汉双向翻译系统。 在个人通信市场上,已经有大量内置CE系统的手机产品可以接入网络并收发电子邮件。

综上所述,CE操作系统以其强大的功能、广泛的兼容性、灵活的适用性、最少的硬件资源需求和完善的开发工具支持,成为嵌入式系统设计的理想选择。 21世纪将是人类社会全面网络化、信息化的时代。 电子产品小型化、智能化、网络化的趋势是必然的。 面对这一浪潮,高度集成先进操作系统性能和强大通信能力的CE系统无疑拥有光明的应用前景。