本文转载自微软嵌入式中文社区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的体系结构和组件做了简单的介绍,下一次和大家探讨一下关于它的内存问题。
分享到:
相关推荐
WINDOWS EMBEDDED COMPACT 7(WINCE7)的安装文件和KEY
Windows Embedded Compact7官方文档,内容很丰富,包括移植文档。
RTOS Evaluation project 对微软最新发布的实时操作系统 Windows Embedded Compact 7的评测
著名的红皮书系列,微软的工业嵌入式系统开发指南性书籍,非常少见。
Professional Windows Embedded Compact 7红皮书的源码,书我也上传了,具体自己搜一下
Windows Embedded Compact 2013 (WEC 2013)是Microsoft Embedded Compact家族系列的最新版本,发布于2013年,生命周期按照目前Microsoft发布的计划为2023年。
介绍wince7的资料,纯英文,PDF原版
Professional Windows Embedded Compact 7电子书,非扫描pdf版.
As a compact, highly efficient, scalable operating system, Windows Embedded Compact 7 (WEC7) is one of the best options for developing a new generation of network-enabled, media-rich, and service-...
Windows Embedded Compact 7微软学习资料,PDF版,很清晰
Windows Embedded Standard 7是微软新推出的Windows 7嵌入式版本,可在PC机上运行,占用磁盘空间较少,可自行定制功能。可在微软官方网站下载并申请180天测试序列号(若不输入序列号仅能用30天)。安装界面为英文,...
win embedded compact 2013开发教程 win embedded compact 2013是wince的升级版本
Professional Windows Embedded Compact 7详细介绍了Wince 7.0的系统编程,是一本经典教材!
第一部分在这里 http://download.csdn.net/detail/yinming4u/5401157
Windows XP Embedded 创建自定义组件Windows XP Embedded 创建自定义组件Windows XP Embedded 创建自定义组件Windows XP Embedded 创建自定义组件Windows XP Embedded 创建自定义组件Windows XP Embedded 创建自定义...
Wes7组件功能说明 - 嵌入式Win7 - Windows Embedded Standard
本课程会讲解利用Windows Embedded Standard 7构建嵌入式操作系统映像的基本概念与技巧,帮助您更有效地利用Windows Embedded Standard 7的开发工具...Windows Embedded Standard 7是基于Windows 7的组件化的开发平台。
本文介绍了Windows Embedded Standard 2009和Windows Embedded Standard 7在组件化、工具和映像构建流程等方面的部分不同。目的是使用户深入了解这两款嵌入式产品之间的差异,以及这两款产品在创建和部署嵌入式设备...
本文从组件架构、功能集包、驱动程序包、语言包、组件依赖关系、宏组件与模板、设置管理架构、嵌入式功能、客户化组件支持、组件架构等全方位的对Windows Embedded Standard 2009和Windows Embedded Standard 7做了...
为 Windows XP Embedded 创建自定义组件