Windows Embedded Compact7的体系结构和组件简介

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;
支持NDIS 6.1;
支持带Flash 10.1的IE 7;

模块化

有500多个组件可供选择

实时性

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

占用资源少

内核使用约700kB的资源

优秀的工具

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

加快开发

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

低成本

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

新的许可体系

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

共享资源

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

专业设备支持

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

强大的支持

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

 如果我们想更快的进行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的体系结构和组件做了简单的介绍,下一次和大家探讨一下关于它的内存问题。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值