`

原创翻译 Windows Embedded Compact7的体系结构和组件简介

阅读更多

本文转载自微软嵌入式中文社区http://www.msembed.com

Windows Embedded Compact 7是在Windows Embedded CE的基础之上演变而来的。它是一种组件化的实时操作系统,用于创建各种占用空间小的企业类和消费类设备。既然是微软在嵌入式和移动计算平台最新系统,那就快来学习一下吧。

首先,我们要大体的了解一下Windows Embedded Compact 7的一些特性。WinCE7的设计非常紧凑,是个实时操作系统,面向用户、面向产品、面向应用,软硬件可裁减,适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用设备。比较具体的说法可以参考下表:

特性

描述

处理器架构

支持四种32位处理器架构:x86、ARM、MIPS32和SH4;
支持多达8核的多核处理器(SMP);
现在支持ARMv7;
提供处理器核心管理API;
支持多达3GB的物理内存;
支持蓝牙2.1以及EDR;
支持NDIS6.1;
支持带Flash10.1的IE7;

模块化

有500多个组件可供选择

实时性

WindowsEmbeddedCompact7是微软提供的唯一具有原生实时功能的操作系统;

占用资源少

内核使用约700kB的资源

优秀的工具

功能完整的VisualStudio2008专业版现已包括在Platform-Builder程序包;
经过更新的目录功能;
经过更新的编译器;
新的集成的Silverlight开发工具;

加快开发

端到端开发流程,帮助你容易配置、构建和交付新设备;
集成的开发模拟器,因而没必要使用众多来源的多个工具;
几百个测试组件随时可供使用;
可以使用更多的源代码,以便调试、测试和更改操作系统映像;

低成本

由于评估工具免费,前期资金投入很少;开发工具的成本很低,许可费也极低,从而降低了开发的总成本;

新的许可体系

2种主许可证:C7E和C7P,对垂直行业没有限制;
4种对垂直行业有限制的许可证:C7K、C7G、C7T和C7NR;
不再有Core许可证;
不再有Core-Plus许可证;

共享资源

可以参与共享资源计划,有400多万行源代码。可以使用共享源代码,记录、调试、测试和改动操作系统映像,以创建差异化的功能特性。可以使用和更改这些源代码。

专业设备支持

面向移动设备的特殊功能已包括在内,如电源管理、即时开机和占用资源少,用于闪存设备。

强大的支持

长达十年的延长支持服务;
全球合作伙伴网络和社区协作;
免费的评估套件,可在180天内免费评估和测试系统;

<!--{13080191160020}-->

如果我们想更快的进行WinCE7的入门学习,那么还需要了解一下基础的WinCE的系统架构。

Windows Embedded Compact的嵌入式系统采用四层体系结构:

l 硬件层:用于线程调度的实时时钟、用于存储和运行操作系统的存储单元。通常,硬件平台应具备其他的外设,例如串口、网卡、键盘、鼠标等。对于不同的应用领域和硬件平台,需要定制Windows CE 7操作系统并移植到目标硬件上;

l OEM 硬件适配层:位于操作系统层与硬件层之间,用来抽象硬件功能,实现操作系统的可移植性;

l 操作系统服务层:

包含:

A、内核:内核提供用于线程调度、内存管理和中断处理、调试支持等;

B、对象存储:包括文件系统、系统注册表、CE 数据库的持久存储;

C、通讯接口:提供对各种通信硬件和数据协议的支持;

D、GWES:支持显示文本和图像,提供用户输入所需的图形和窗口功能;

l 应用层:是应用程序的集合,通过调用Win32 API 来获得操作系统服务;

它具有层次性强、可移植性好、组件可剪裁、强调编程接口和支持上层应用等特点。不过,这个划分并不绝对,而是根据产品需求来决定。

或许以上的解释只能对Windows CE系统有个粗略的了解,现在我们看看它的组件到底有什么:

CoreDLL

CoreDLL在系统中的地位举足轻重,它分隔了应用程序和操作系统的其他模块,是使系统稳定的保护性屏障。

它提供了两类功能:
第一类是外部应用程序系统功能的代理,负责系统API的管理和安装应用程序,系统应用程序的核心软件中断过程就发生在这里;

第二类提供了类似字符串处理、随机数生成、时间计算等基本支持函数。

CoreDLL的程序代码位于..\PRIVATE\WINDOWS CEOS\COREOS\CORE目录下。

NK
NK透过nk.exe在系统中运行,它是Windows CE操作系统的真正核心,主要包含以下6类:功能处理器进程、内存管理、异常处理、系统内的通信机制、为其他部分提供核心应用程序例程(routine)、为系统范围内侦错提供的支持。

NK.exe的程序代码非常精简,始终以较高的优先级和处理器特权级别(privilege mode)执行。
NK的程序代码位于..\PRIVATE\WINDOWS CEOS\COREOS\NK目录下。

设备管理模块
这是Windows CE的设备管理核心,透过Device.exe来执行。

它提供系统范围内基本的设备列表管理、随插即用管理、电源管理、I/O资源管理,并提供了设备驱动程序运作的基本机制。

这一部分的程序代码位于..\PRIVATE\WINDOWS CEOS\COREOS\DEVICE目录下。

数据存储模块
数据存储模块主要是提供系统基本的数据存储能力,其中包括对象存储以及文件系统,这些功能主要是透过filesys.exe来执行。

原始代码部分位于..\PRIVATE\WINDOWS® CEOS\COREOS\FSD目录和..\PRIVATE\WINDOWS CEOS\COREOS\STORAGE目录下。

GWES模块
Windows CE通过这个模块提供的图形接口提供了几个主要的功能:基本的绘图引擎、窗口管理、接口的事件机制等。

代码位于..\PRIVATE\WINDOWS CEOS\COREOS\GWE目录下。

通信模块
网络通信模块非常独立,它通过一系列的动态链接库来运作。

位于..\PRIVATE\WINDOWS CEOS\COMM目录下。

OAL模块
这个模块没有确定的形态,主要包括和硬件相关的若干功能,例如:处理器的专用支持程序代码、总线控制器的驱动、系统引导程序、系统初始化程序等。一般来说OAL不具有可移植性。

驱动程序模块
驱动程序模块实际上并不是一个单独的实体,而是一个由驱动程序实体构成的集合,它包括很多组件,执行也比较复杂,可以看作一个具体的类别驱动程序,它们由不同的模块管理,例如services.exe和gwes.exe。

其他一些需要注意的小问题:
Platform Builder 7.0作为VS2008的一个插件使用,且与之前所有版本的WinCE开发环境都不兼容,需要独立安装;

WinCE只支持UNICODE,所以char必须改为TCHAR, WCHAR;

WinCE不支持重叠I/O;

WinCE的许多APIs功能都受限,如:CreateThread 函数在许多参数在WinCE下都不支持,第1、2、5的参数值需要设置为NULL或0;

好了,开篇对于Windows Embedded Compact7的体系结构和组件做了简单的介绍,下一次和大家探讨一下关于它的内存问题。

分享到:
评论

相关推荐

    Professional Windows Embedded Compact 7源码

    《Professional Windows Embedded Compact 7》是一本专注于微软嵌入式操作系统的权威著作,该书深入探讨了...通过这些代码,开发者可以更深入地理解WEC7的体系结构,从而在实际项目中实现更加高效和可靠的解决方案。

    Win CE 7.0 入门教材 Professional Windows Embedded Compact 7

    《Professional Windows Embedded Compact 7》是一本专注于Win CE 7.0系统编程的入门教材,对于想要深入理解和掌握Windows Embedded Compact 7 (WEC7) 的开发者来说,它提供了全面而详细的知识体系。WEC7是微软推出...

    一个小时成为Windows Embedded CE 6.0开发者

    Windows Embedded CE 6.0 的体系结构分为多个层次: - **硬件层**:包括处理器、内存等硬件资源。 - **引导程序**:负责加载操作系统内核。 - **NK.EXE**:操作系统的核心部分,负责管理整个系统的运行。 - **...

    Windows CE 体系结构与应用开发

    《Windows CE 体系结构与应用开发》是一本深入探讨Windows CE操作系统核心以及其在嵌入式软件开发中的应用的专业书籍。Windows CE作为一个微型版本的Windows操作系统,被广泛应用于各种嵌入式设备,如掌上电脑、工业...

    windows 设备中心64 win7

    描述中提到的“64位和32位都在这里了”,意味着提供的压缩包内包含了适用于两种不同体系结构的驱动更新程序:一个是amd64(对应64位系统),另一个是x86(对应32位系统)。这表明这个压缩包是为了满足那些既有32位又...

    rapi相关(包括rapi.h,rapi.dll,rapi.lib)

    开发基于RAPI的应用程序需要对Windows CE或Windows Embedded Compact的体系结构有深入理解,以及熟练掌握C或C++编程。开发者还需要安装相应的SDK(软件开发工具包),其中包含了必要的开发工具和文档,以帮助完成R...

    Windows+CE.rar_Windows CE

    在压缩包中的“嵌入式操作系统原理---Windows CE-天津大学”文档,可能涵盖了Windows CE的体系结构、操作系统内核、进程管理、内存管理、文件系统、网络支持等主题,详细解析了Windows CE在嵌入式系统中的实现原理。...

    windowsCE嵌入式操作系统课件

    1. **Windows CE系统体系结构** - 微内核设计:Windows CE采用微内核架构,核心只包含基本服务,如内存管理、进程调度、网络和设备驱动等,其余功能通过动态加载的服务组件实现,提高了系统的稳定性和效率。 - ...

    windowsce开发.zip

    此外,了解Windows CE的体系结构、内存管理、驱动程序开发以及设备特定的API也是很重要的。你可以参考博客文章,获取更详细的配置和开发步骤,以确保在实际操作中能够顺利进行。 总的来说,Windows CE开发需要掌握...

    windows mobile2440 BSP

    2. ARM体系结构和汇编语言,因为可能需要编写或修改低级别的驱动程序。 3. 使用工具链,如Microsoft Platform Builder,来进行BSP的构建和部署。 4. 调试技巧,例如使用Kernel Debugger(KD)或其他工具进行系统级别...

    Windows_CE嵌入式系统(何宗建)

    Windows CE自1996年首次发布以来,经历了多次更新和升级,最新的版本为Windows Embedded Compact 7,于2010年发布。虽然随着移动操作系统市场的变化,Windows CE的地位有所下滑,但它在嵌入式领域的贡献不容忽视。 ...

    2440BSP的工程文件

    1. Windows CE 6.0内核的构建过程:这涉及到理解Windows CE的体系结构,包括内核组件、驱动模型以及编译工具链,如eMbedded Visual C++或Platform Builder。 2. S3C2440 BSP:了解S3C2440处理器的特性,包括内存...

    ARM嵌入式WINCE实践教程书籍

    书中首先会介绍Windows CE的基本概念和体系结构,包括它的模块化设计、可裁剪性以及如何适应不同的硬件平台。读者将了解到,Windows CE并非桌面版Windows的精简版,而是一个完全独立的操作系统,专门为嵌入式设备...

Global site tag (gtag.js) - Google Analytics