嵌入式系统具备了PC的部分标准功能,但它又有一定的延伸。嵌入式系统的组件根据应用的需要,嵌入在设备内部,发挥着运算、处理、储存以及控制等作用。嵌入式系统一般由硬件设备、嵌入式操作系统、嵌入式应用软件组成。硬件大致有微处理器(也叫微控制器)、存储设备、外围接口组成。目前大多以32位的单处理器、64MSDRAm、32MFlash具多。操作系统具有内核镜像小、实时性强的特点,具备支持硬件的驱动软件和较强的安全性能。嵌入式应用软件的设计必须考虑到嵌入式系统硬件资源的有限性。嵌入式应用软件包括通信协议、图形接口、数据库系统和浏览器等。
5.2 嵌入式操作系统
由于嵌入式系统运行环境的限制以及嵌入式系统的运行性能需求,通用的PC操作系统是无法满足要求的,因此诞生了面向较少系统资源的嵌入式操作系统。
从应用范围划分,嵌入式操作系统大致可以分为通用型和专用型。比较典型的通用型嵌入式操作系统有Windows CE、VxWorks以及嵌入式Linux;专用型嵌入式操作系统有专门用于掌上计算机的Palm OS、主要用于移动电话的Symbian等。
根据实时性能特性划分,嵌入式操作系统还可以分为实时操作系统和一般嵌入式操作系统。在各嵌入式操作系统中,VxWorks的实时性能被认为是最好的,在军用领域有很广泛的应用。其次linux也被认为是实时性较强的操作系统。Windows CE以它的友好的图形界面以及适当的实时性能,在控制、通信、多媒体等领域得到广泛的应用。Windows CE与Vxworks相比,更适合于个人消费领域;与linux相比,有Microsoft公司强大的技术开发支持做后盾,更有利于开发风险的化解,而linux的开发更多的是依赖于程序员个人的经验。
注意
|
嵌入式系统并不一定是要实时的,而实时操作系统也不一定是要嵌入式的,雷达的控制系统就是典型的例子。
|
嵌入式操作系统是对通用操作系统的继承与发展,具有操作系统的基本功能,包括指令执行、任务调度、储存器管理、设备管理和中断处理等。但是,由于嵌入式系统的硬件环境和程序运行需求有很大限制,所以嵌入式操作系统又有如下不同于一般操作系统的特点。
(1)资源限制
嵌入式系统一般只有64MB内存,而且非易失性FLASH通常也就32MB,因此,操作系统运行时,就不能像在PC机上那样开销资源了。最典型的,Windows CE的内核image文件大小默认是小于32MB的,如果由于用户选择了过多的选项,使得编译后的内核大于32MB,那么需要用户手动地在Platform Builder中指定内核可以大于32MB。
(2)安全性限制
众所周知Windows 98最大的缺陷就是蓝屏,Windows 2000之后有较大改进。但是在嵌入式领域,系统在运行之后一般都不能在短时期内停机或者重新启动,因此死机、蓝屏是绝对不允许的,一旦发生这种情况,可能会产生灾难性后果。所以嵌入式操作系统安全性非常重要,在Windows CE中的设备驱动程序基本都作为应用程序来运行,就是为了防止在内核态运行出问题导致系统崩溃。开发过WDM、VxD驱动的读者都明白,Windows 2000上的驱动一旦出问题,立即会导致蓝屏。
(3)可移植性
嵌入式系统硬件平台种类比较多,不像PC机由Intel和AMD垄断,因此操作系统必须把HAL(Hardware Abstraction Layer)、BSP(Board Support Package)和内核清楚的分割开来,这样对于移植,开发工作就会简便很多。一般BSP是由处理器生产厂家提供的。目前,Windows CE支持的处理器种类已经包括x86、MIPS、ARM、Xscale等一系列主流的嵌入式处理器。
1993年,Jeff Hawkins和Donna Dubinsky共同创立了Palm Computing公司,开始了掌上计算机的设计构想。1996年的4月,第一部PalmPilot掌上计算机Pilot 1000问世,它使用的是Palm OS 1.0操作系统,只有256KB内存。1997年,Palm Pilot的第二代产品问世。1998年,Palm发布了第三代掌上计算机Palm III。当时Palm几乎垄断了掌上计算机市场。
微软公司在看到如此大的市场和利润后,不甘落后,首先在内部开始了“portable PC solution”项目,最后更名为Windows CE,试图基于PC Windows系统开发一个面向掌上设备的操作系统。在1996年,微软公司发布了Windows CE 1.0。随后有几款使用Windows CE 1.0系统的产品在市场上出现,称为Handheld PC。Windows CE 1.0界面外观很像Windows 95,用者有一种熟悉、亲切的感觉,容易接受它。整个Windows CE的发展过程如图5-1所示。
图5-1 Windows CE的发展过程
Windows CE的设计目标是:模块化及可延展性、实时性能好,通信能力强大,支持多种CPU。
从操作系统内核的角度看,Windows CE具有灵活的电源管理功能,包括睡眠/唤醒模式。在Windows CE中,还使用了对象储存(对象存储)技术,包括文件系统、注册表及数据库。它还具有很多高性能、高效率的操作系统特性,包括视需要分页、共享储存、交叉处理同步、支持大容量heap等。
Windows CE拥有良好的通信能力。它广泛支持各种通信硬件,也支持直接的局域网连接以及拨号连接,并提供与PC、内部网以及Internet的连接,包括用于应用级数据传输的设备至设备间的连接。在提供各种基本的通信基础结构的同时,Windows CE还提供与Windows 9x/NT的整合和通信。
Windows CE的图形界面相当出色。拥有基于Microsoft Internet Explorer的Internet浏览器,Windows CE甚至还能支持诸如手写体、声音识别、动态影像和3D图形等多种应用。
Windows CE是一个多任务的操作系统,可以同时执行多个任务,并在它们之间来回切换。Windows CE其实就是Windows的简化版本,我们可以通过我们熟悉的Windows的操作方式来控制Windows CE,Windows CE也支持很多软件如Pocket Word、Pocket Excel等。
Windows CE同时内置了多媒体功能,通过Windows Media Player可以播放音视频。Windows CE具有可扩充的Compact Flash/MMC/SD插槽,通过扩充卡可以实现多种功能。
Windows CE.NET是Windows CE 3.0的后继产品。
Windows CE的实时能力可以适应95%硬式实时(hard-real-time)系统的需求。另一方面,中断延时也是影响实时能力的重要因素,在Windows CE中,中断延时和中断处理方式密切相关,当采用在ISR中直接处理时,延时非常短,较长的延时通常发生在采用IST方式处理中断事务的情况,进程系统保证在此种情况下的延时不超过100μs。
在Platform Builder4.0以上的版本提供了一系列工具进行实时能力的分析,MSDN中Get Embedded专栏的文章《Testing Real-Time Systems in Microsoft Windows CE .NET》详细介绍了如何使用这些工具来测试Windows CE的实时能力。
Windows CE有以下的功能。
ln Bounded interrupt response latency(有限的中断响应)
确定的中断响应延时将使系统的实时性能得到保障。中断响应延时是影响实时性能的重要因素,从硬件产生中断到内核处理,一直到OAL的ISR和IST,要经过这一系列的处理。因此时间开销也相应增加.如何缩短或者确保这段时间,将是系统的重中之重。
ln Timer precision configurable (1 millisecond default)(系统时钟精度默认1μs)
Windows CE的系统时钟的精确度默认为1μs,开发人员也可以使用处理时钟中断的ISR来修改这个值。
ln System timer tick independent of thread quantum(系统时钟滴答(tick)不依赖线程时间片)
Windows CE的线程运行周期可以分别定义,和系统时钟tick无关。
n Nested interrupt support(支持嵌套中断)
可嵌套的中断服务,这使得具有高优先级的中断可以强先执行。从而确保了重要事件的及时响应。
n Priority inheritance(优先级继承)
优先级继承使被阻塞的低优先级的中断处理可以继承较高的中断优先级。
n Protected virtual memory(受保护的虚拟内存)
将特定范围的虚拟地址空间保护起来,可以防止其他程序的误访问,增强系统的安全性。在MMU的机制中,只有内核级的程序才可以访问0xc0000000以上的地址,这些是为系统所保留的,一般用户级的程序不应该直接去访问,否则会造成系统瘫痪。
n Synchronization objects(同步对象)
在多线程的操作系统中,线程同步是非常重要的功能,Windows CE提供了critical sections、mutexes、events和信号量对象来保证线程同步的通信机制。
5.6 Windows CE的应用领域
5.6.1 PDA领域
微软公司为了在PDA领域与Palm竞争,从Windows CE中变种出了Pocket PC系列。最早的Pocket PC 2000基于Windows CE operating system version 3.0,可与Microsoft ActiveSync 3.1通信。此后,Microsoft公司又继续推出了Pocket PC 2002,Pocket PC 2003版本,不断丰富了各种外围设备接口,如蓝牙、IrDA、SD卡等。得到了索尼、戴尔等PDA生产厂商的支持。
5.6.2 移动通信领域
Smartphone系列是Windows CE在移动通信方面的代表产品。Microsoft Smartphone 是对微软公司移动产品系列的新型、引人注目且功能强大的补充产品。Smartphone在一台设备中同时提供声音和无线数据功能,这扩展了移动电话概念的价值。Smartphone既是一部很好的电话,也是联机和脱机应用程序的理想运行平台,它能够帮助用户保持与重要的实时信息之间的联系。
5.6.3 工业控制领域
Windows CE特别适合于要求可视化的工业控制应用,如汽车电子行业就大规模使用了Windows CE平台,触摸屏、CAN总线的支持以及完备外设接口使Windows CE能适应复杂的用户需求,在Windows CE中可以用CAN总线或者USB接口实现视频传输,这样就可以替代传统的后视镜。Windows CE继承了Windows界面的风格,给用户十分亲切的感觉,因此在图形化的工业控制领域占据了不小的市场。
分享到:
相关推荐
### Windows CE嵌入式开发入门—基于Xscale架构 #### 一、概述 《Windows CE嵌入式开发入门—基于Xscale架构》是一本专为希望深入理解和掌握Windows CE平台开发技术的学习者编写的教材。本书不仅介绍了Windows CE...
本篇文章主要探讨了基于Xscale架构的Windows CE嵌入式开发中驱动开发的分类及其特点。 首先,驱动按照加载方式可分为三类:本机设备驱动(Built-In Driver)、可加载驱动(Loadable Driver)和混合型驱动。 1. 本...
《Windows CE嵌入式开发入门-基于Xscale架构》是一本深入探讨Windows CE在Xscale架构上应用开发的专业书籍。Windows CE是一个精简版的微软操作系统,特别适用于嵌入式设备,如工业控制、移动设备和消费电子产品。...
"WindowsCE嵌入式开发入门-基于Xscale架构"的学习主要涉及以下几个关键知识点: 1. **Windows CE系统结构**:了解Windows CE的模块化设计,包括内核、BSP(板级支持包)、驱动程序、文件系统、应用程序接口等,这些...
《ARM嵌入式技术原理与应用——基于XScale处理器及VxWorks操作系统 [单片机与嵌入式系统 ┈→ 嵌入式系统教程]》是《ARM嵌入式技术系列教程》的理论教程,以采用XScale处理器的CVTPXA270教学实验系统为硬件平台,...
本书《ARM嵌入式技术原理与应用——基于XSCALE及VxWorks操作系统》深入探讨了ARM在嵌入式领域的应用,并特别关注了XSCALE处理器及其与VxWorks操作系统的集成。 #### 二、RISC架构简介 RISC架构是一种计算机体系...
IV实验丛书》之一,主要基于英蓓特公司目前最新嵌入式教学平台EduKit-IV,搭配核心Xscale PXA270板和其他相关模块,主要介绍嵌入式操作系统Windows CE6.0及其BSP包的开发,应用的开发等。 经历过近几年的嵌入式ARM...
### 基于XSCALE架构处理器WinCE系统...总之,基于XSCALE架构处理器的WinCE系统BSP开发是一项复杂而精细的工作,要求开发者既掌握处理器的底层硬件细节,又熟悉操作系统的工作原理,才能成功构建稳定可靠的嵌入式系统。
《WINCE6.0基础教程和基于Xscale270嵌入式Windows CE开发实验与实践》是一本针对初学者和有一定经验的开发者设计的教材,旨在帮助读者深入理解和掌握Windows Embedded CE 6.0(简称WinCE6.0)在Xscale270处理器上的...
Windows CE.NET是一款基于32位架构的实时操作系统,以其精简的代码量、快速的响应速度和高度可定制性著称,特别适合内存有限的智能设备和手持终端的快速开发。该系统不仅支持广泛的处理器产品,包括x86、Xscale、ARM...
### Windows CE 5.0 操作系统下基于 PXA270 的蓝牙驱动实现 #### 摘要 本文探讨了在 Windows CE 5.0 嵌入式操作系统环境中,利用 Intel PXA270 处理器作为核心硬件平台,实现蓝牙驱动程序的方法。该文针对蓝牙技术...
总之,Windows CE作为一款强大的嵌入式操作系统,其灵活性、可定制性和广泛的硬件兼容性使其成为嵌入式开发领域的重要选择。对于学习和理解嵌入式软件开发的学者来说,了解Windows CE的相关知识是非常有价值的。